This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: Infrastructure for tracking driver performance events
- From: fche at redhat dot com (Frank Ch. Eigler)
- To: Ben Gamari <bgamari dot foss at gmail dot com>
- Cc: Steven Rostedt <rostedt at goodmis dot org>, lkml at vger dot kernel dot org, Rober Richter <robert dot richter at amd dot com>, anil dot s dot keshavamurthy at intel dot com, ananth at in dot ibm dot com, davem at davemloft dot net, mhiramat at redhat dot com, SystemTap <systemtap at sources dot redhat dot com>, Eric Anholt <eric at anholt dot net>, Chris Wilson <chris at chris-wilson dot co dot uk>, intel-gfx at lists dot freedesktop dot org
- Date: Wed, 24 Jun 2009 15:58:40 -0400
- Subject: Re: Infrastructure for tracking driver performance events
- References: <20090624170939.GA5565@ben-laptop>
Hi, Ben -
> [...] It has been suggested[2] that this wait-event tracking
> functionality would be far more useful if we could provide stack
> backtraces all the way into user space for each wait event. [...]
Right.
> Another option seems to be systemtap. It has already been
> documented[3] that this option could provide both user-mode and
> kernel-mode backtraces. [...] Unfortunately, the systemtap approach
> described in [3] requires that each process have an associated
> "driver" process [...]
> [3] http://sourceware.org/ml/systemtap/2006-q4/msg00198.html
The date on the message you're referencing gives a hint that it's
obsolete. A newer status of the relevant work (still incomplete!) is
<http://sourceware.org/ml/systemtap/2009-q2/msg00364.html>.
Systemtap now handles user-space backtraces without such "driver"
processes. While frame-pointer-based heuristics are available,
systemtap also uses dwarf unwind data to compute more accurate
backtraces for participating user-space processes. These may be
composed of an identified set of shared libraries / binaries, whose
unwind data is made available to systemtap-generated probe modules for
instant reference.
> [...] Are there any thoughts on any new generic services that the
> kernel might provide that might make this task easier? [...]
One obstacle to robust backtracing has been the inconsistent presence
of dwarf .cfi directives in all the layers of assembly code involved
in the gap between blocked userspace and some random kernel function.
- FChE