This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: PR3498: more efficient dwfl searching
- From: Josh Stone <jistone at redhat dot com>
- To: "Frank Ch. Eigler" <fche at redhat dot com>
- Cc: systemtap at sources dot redhat dot com
- Date: Tue, 07 Jul 2009 12:35:16 -0700
- Subject: Re: PR3498: more efficient dwfl searching
- References: <20090707184738.GC1933@redhat.com>
On 07/07/2009 11:47 AM, Frank Ch. Eigler wrote:
> Hi -
>
> I committed some code to dramatically improve the pass-2 and pass-3
> processing times for scripts that target the kernel, especially for
> kernel build trees that have oodles of files under
> /lib/modules/.../build. It's basically using the offline module
> search function's predicate vigorously, so that stap doesn't bother
> open all .ko's on the system just for a kernel probe.
>
> My early testing shows no problems, just speedups, but if you notice
> debuginfo being found less well than before, please let me know.
Indeed, my hardy "stap -l syscall.*" test is a bit faster now -- cool!
But it doesn't appear to handle module wildcards anymore:
> $ /usr/bin/stap -V
> SystemTap translator/driver (version 0.9.8/0.141 non-git sources)
> Copyright (C) 2005-2009 Red Hat, Inc. and others
> This is free software; see the source for copying conditions.
> $ /usr/bin/stap -l 'module("scsi*").function("*")' | wc -l
> 587
> $ ./run-stap -V
> SystemTap translator/driver (version 0.9.8/0.141 commit release-0.9.8-125-gae2552d)
> Copyright (C) 2005-2009 Red Hat, Inc. and others
> This is free software; see the source for copying conditions.
> $ ./run-stap -l 'module("scsi*").function("*")' | wc -l
> semantic error: missing x86_64 kernel/module debuginfo under '/lib/modules/2.6.29.5-191.fc11.x86_64/build' while resolving probe point module("scsi*").function("*")
> 0
I would guess that this bit needs more smarts:
> + /* Reject mismatching module names */
> + if (strcmp(modname, offline_search_modname))
> + return 0;
Josh