Re: [PATCH 08/18] tracing: Add kprobe-based event tracer

From: Masami Hiramatsu
Date: Thu Aug 27 2009 - 11:35:44 EST


Frederic Weisbecker wrote:
On Thu, Aug 27, 2009 at 09:31:39AM +0200, Ingo Molnar wrote:

* Frederic Weisbecker<fweisbec@xxxxxxxxx> wrote:

From: Masami Hiramatsu<mhiramat@xxxxxxxxxx>

Add kprobes-based event tracer on ftrace.

This tracer is similar to the events tracer which is based on
Tracepoint infrastructure. Instead of Tracepoint, this tracer is
based on kprobes (kprobe and kretprobe). It probes anywhere where
kprobes can probe(this
means, all functions body except for __kprobes functions).

Similar to the events tracer, this tracer doesn't need to be
activated via current_tracer, instead of that, just set probe
points via /sys/kernel/debug/tracing/kprobe_events. And you can
set filters on each probe events via
/sys/kernel/debug/tracing/events/kprobes/<EVENT>/filter.

ok, one observation here: this should seemlessly merge into
/debug/tracing/events/ and provide a record format descriptor in
'format' to allow the automated fetching of the results of the
probe. The PERF_SAMPLE_RAW gateway should work as well.

That way tooling that knows about /debug/tracing/events/ will
automatically work with kprobes events as well. We can profile based
on kprobes, etc. etc.

The _setting_ of the probe is still a separate channel - but if
existing installed probes are merged into existing tooling that's a
big step forward in terms of utility.

Ingo


It does already :)

But I've split out this patch that initially embeded the documentation.
If you look at the 9/10 patch, you can see how look like the format
files for kprobes.

As far as I've tested, it just requires two changes for perf-tools.
- Support CONFIG_PROFILE_EVENT(profile_enable/disable) on kprobe-tracer.
- Ignore 'alias' tag(which is a special tag in kprobes event) while
parsing format file.

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/