This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Infrastructure for tracking driver performance events


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]