From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ingo Molnar Subject: Re: [PATCH -tip v5 0/7] tracing: kprobe-based event tracer and x86 instruction decoder Date: Wed, 13 May 2009 15:21:51 +0200 Message-ID: <20090513132151.GC21052@elte.hu> References: <20090509004829.5505.38720.stgit@localhost.localdomain> <20090509044302.GH8007@elte.hu> <4A09F216.70203@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Steven Rostedt , lkml , Avi Kivity , "H. Peter Anvin" , Frederic Weisbecker , Ananth N Mavinakayanahalli , Andrew Morton , Andi Kleen , Jim Keniston , "K.Prasad" , KOSAKI Motohiro , systemtap , kvm To: Masami Hiramatsu Return-path: Content-Disposition: inline In-Reply-To: <4A09F216.70203@redhat.com> List-Unsubscribe: List-Subscribe: List-Post: List-Help: , Sender: systemtap-owner@sourceware.org List-Id: kvm.vger.kernel.org * Masami Hiramatsu wrote: > Ingo Molnar wrote: > > * Masami Hiramatsu 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