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

From: Frank Ch. Eigler
Date: Tue Jan 12 2010 - 17:17:06 EST


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