Re: [PATCH -tip v5 0/7] tracing: kprobe-based event tracer and x86 instruction decoder

Ingo Molnar
2009-05-13T13:22:54Z

* Masami Hiramatsu <mhiramat@redhat.com> wrote:

> Ingo Molnar wrote:
> > * Masami Hiramatsu <mhiramat@redhat.com> wrote:
> >
> >> Hi,
> >>
> >> Here are the patches of kprobe-based event tracer for x86, version
> >> 5, which allows you to probe various kernel events through ftrace
> >> interface.
> >>
> >> This version supports only x86(-32/-64) (but porting it on other
> >> arch just needs kprobes/kretprobes and register and stack access
> >> APIs).
> >>
> >> This patchset also includes x86(-64) instruction decoder which
> >> supports non-SSE/FP opcodes and includes x86 opcode map. I think
> >> it will be possible to share this opcode map with KVM's decoder.
> >>
> >> This series can be applied on the latest linux-2.6-tip tree.
> >>
> >> This patchset includes following changes:
> >> - Add x86 instruction decoder [1/7]
> >> - Check insertion point safety in kprobe [2/7]
> >> - Cleanup fix_riprel() with insn decoder [3/7]
> >> - Add kprobe-tracer plugin [4/7]
> >> - Fix kernel_trap_sp() on x86 according to systemtap runtime. [5/7]
> >> - Add arch-dep register and stack fetching functions [6/7]
> >> - Support fetching various status (register/stack/memory/etc.) [7/7]
> >>
> >> Future items:
> >> - .init function tracing support.
> >> - Support primitive types(long, ulong, int, uint, etc) for args.
> >
> > Ok, this looks pretty complete already.
> >
> > Two high-level comments:
> >
> > - There's no self-test - would it be possible to add one? See
> > trace_selftest* in kernel/trace/
> >
> > - No generic integration.
>
> Hmm, Ingo, could you tell me what I can do for the integration?
> Would you means that I should use filters?

yeah, that - and for the tracepoints to show up under
/debug/tracing/events/. They'd in essence be 'flexible', dynamic
event tracepoints that extend upon existing, built-in tracepoints.
To user-space tools the two would show up in a very similar way and
with a similar usage (once they are injected).

Ingo