stap -x option

Mike Mason mmlnx@us.ibm.com
Sat Jul 28 21:22:00 GMT 2007


William Cohen wrote:

[snip]

> 
> There are two issues with multiple probes. One is there will be 
> additional overhead if there are more probes to run at a probe point. 
> The other issue is that systemtap avoids recompiling the scripts when 
> possible. It checks to see if a kernel module has been previously 
> generated for a script, if so it reuses the module. If you attempt to 
> use multiple instances of a script, systemtap may indicate that it can't 
> load the module. The kernel only allow one instance of a module to be 
> loaded into the kernel. You may need to resort to using the "-m" option 
> to produce different modules to load.

While I think it's best to avoid running multiple instances of the same
script, it should still be allowed.  I ran into this yesterday when
I wanted to test the impact of running multiple instances of a script
I wrote.  Using -m to accomplish this is cumbersome.  Could we simply 
add an option that tells stap to ignore the cache?  It's simple, as 
the following diff shows:

Index: main.cxx
===================================================================
RCS file: /cvs/systemtap/src/main.cxx,v
retrieving revision 1.74
diff -r1.74 main.cxx
102a103
>     << "   -d         disable cache support" << endl
278c279
<       int grc = getopt (argc, argv, "hVMvtp:I:e:o:R:r:m:kgPc:x:D:bs:uq");
---
>       int grc = getopt (argc, argv, "hVMvtp:I:e:o:R:r:m:kgPc:x:D:bs:uqd");
311a313,316
>         case 'd':
>           s.use_cache = false;
>           break;
>

Then, if you run into module name conflicts, simply run stap with -d.

Mike

> 
> -Will



More information about the Systemtap mailing list