[PATCH 0/2] initscript: add support for uprobes scripts
Stefan Hajnoczi
stefanha@redhat.com
Mon Aug 11 13:20:00 GMT 2014
On Fri, Aug 08, 2014 at 10:20:58AM -0700, Josh Stone wrote:
> On 08/07/2014 11:33 PM, Stefan Hajnoczi wrote:
> > The initscript currently fails for user-space probing scripts on systems where
> > uprobes.ko is built from source by stap(1). This is because the initscript
> > uses a two-phase "compile and then run" approach:
> >
> > The uprobes.ko module is generated during the compile phase but not copied into
> > the cache directory where modules are placed for the run phase. The staprun(8)
> > command fails because the script module cannot be loaded without uprobes.ko.
>
> This confused me at first, because uprobes.ko *is* cached with a
> kernel-hashed name -- see uprobes_pass() in buildrun.cxx. But that's in
> SYSTEMTAP_DIR (default ~/.systemtap), and the initscript is talking
> about its own CACHE_PATH in /var/cache/systemtap. So, ok.
>
> I'm not terribly keen on using -k to find uprobes. But at a minimum, if
> we do this, that "Keeping temp..." string is translatable, so you need
> to ensure stap runs in English.
>
> It's already using -m, which triggers systemtap_session::save_module to
> copy the script module to $PWD at the end of passes_0_4() -- maybe this
> should also save uprobes.ko if needed? Or we could add an explicit
> option to request this behavior. Then the initscript can simply look in
> its own tmpdir to see if uprobes.ko was created.
An explicit stap option makes this cleaner since we don't have to manage
the temporary directory.
Will fix in v2.
Stefan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 473 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/systemtap/attachments/20140811/47ef7610/attachment.sig>
More information about the Systemtap
mailing list