Re: [RFC] [PATCH 7/7] Ftrace plugin for Uprobes

From: Masami Hiramatsu
Date: Tue Jan 12 2010 - 17:32:44 EST


Frank Ch. Eigler wrote:
> 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

Nice! so we can set a probe by the relative address in the library
segments.

>> 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.

And that code we can find in runtime/task_finder*, right? :-)

> Layering this dynamic
> capability seems like the natural way to go, and is easily done with
> utrace and/or tracepoints.

Sure, and I think that will allow us to use uprobe events as
trace-events, because we can set probes before executing programs. :-)

Thank you!


--
Masami Hiramatsu

Software Engineer
Hitachi Computer Products (America), Inc.
Software Solutions Division

e-mail: mhiramat@xxxxxxxxxx

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/