Messages in this thread | | | Date | Tue, 12 Jan 2010 17:15:54 -0500 | From | "Frank Ch. Eigler" <> | Subject | Re: [RFC] [PATCH 7/7] Ftrace plugin for Uprobes |
| |
Hi -
> > As you might expect, in systemtap we've had to figure out this area > > some time ago. We use another utrace consumer called "task finder" [...] > > So, could you tell us how the task-finder works and is implemented?
The code may be found at runtime/task_finder* in the systemtap sources. There is a simple interest-registration structure/API that identifies processes / shared libraries of interest, and a set of callbacks to be invoked when said processes/shared libraries are mapped or unmapped.
It is implemented in terms of utrace callbacks for process/thread lifetime monitoring, and utrace syscall callbacks for tracking shared library segments being mapped and unmapped.
http://sourceware.org/git/?p=systemtap.git;a=tree;f=runtime
> I think we'd better clarify what functions are required for uprobes > and pmu, and I think we may be able to re-implement improved pmu on > utrace.
I don't see any collision between pmu / perf / utrace, so nothing is really "required" for them or simple usage of uprobes. If you wish to track dynamic process/shared-library lifetimes, then you need extra code somewhere to respond to those changes. Layering this dynamic capability seems like the natural way to go, and is easily done with utrace and/or tracepoints.
- FChE
| |