Re: [PATCH] Linux Kernel Markers 0.11 for 2.6.17

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Mathieu Desnoyers <[email protected]> writes:

> [...]
> > I believe [printf formatting directives] are not
> > quite general enough either e.g. to describe a raw binary blob.
>
> If you want to dump a raw binary blob, what about :
> MARK(mysubsys_myevent, "char %p %u", blobptr, blobsize); where %p is
> a pointer to an array of char and %u the length ?

That involves new conventions beyond printf.  Why not "%p %p %u %u"
for two blobs ... or why implicitly dereference the given pointers.  A
probe handler unaware of a specific marker's semantics would not know
whether or not this is implied.


> My idea is to use the string to identify what is referred by a
> pointer, so it can be casted into this type with some kind of
> coherency between the marker and the probe.

I understand what you're using them for.  To me, they just don't look
like a good fit.


> > I realize they serve a useful purpose in abbreviating what otherwise
> > one might have to do (like that multiplicity of STAP_MARK_* type/arity
> > permutations).  [...]
> 
> I think that duplicating the number of marker macros could easily make
> them unflexible and ugly. [...]

Inflexible and ugly in what way?  Remember, the macro definitions can
be automatically generated.  At the macro call site, there needs to be
little difference.


> [...]  Good point, I will setup a va_args in the probe.  When
> correctly used, however, there is no need to use the format string :
> we can directly get the variables from the var arg list if we know
> in advance what the string will be.

Do I understand you correctly that the probe handlers would be given
va_list values, and would have to call va_arg to yank out individual
actual arguments?  So again type safety is a matter of explicit coding
(equivalent to correctly casting each type)?


- FChE
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux