static instrumentation for kernel

Martin Hunt hunt@redhat.com
Tue Dec 13 18:06:00 GMT 2005


On Tue, 2005-12-13 at 12:08 -0500, Frank Ch. Eigler wrote:
> > [...]
> > >    SYSTEMTAP_PROBE(name) 
> > >    SYSTEMTAP_PROBE_N(name,arg1) // arg1 castable to int64_t numeric
> > >    SYSTEMTAP_PROBE_NS(name,arg1,arg2) // arg2 castable to char* string
> > >
> 
> > It seems to somehow limit the variations of parameters that can be
> > passed as argument : one could need a particular macro for a
> > (int64_t,void*,int32_t,byte).  We can imagine thousands of
> > variations. Or maybe the goal is just to allow a small subset of
> > types ?
> 
> Since systemtap uses (approximately) only two data types, the
> combinatorial explosion is not so bad.  Integers and pointers are
> castable to int64_t, and char* strings can get passed as is.  So we
> would have 2 ** (maximum-arity) macros to generate, say 256.

2**(maximum-arity + 1) - 1
But they could be easily generated; no need to write them by hand.

Martin



More information about the Systemtap mailing list