This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: static instrumentation for kernel
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