This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: [PATCH -tip 0/6 V4] tracing: kprobe-based event tracer
- From: Ingo Molnar <mingo at elte dot hu>
- To: Avi Kivity <avi at redhat dot com>
- Cc: Masami Hiramatsu <mhiramat at redhat dot com>, "H. Peter Anvin" <hpa at zytor dot com>, Frederic Weisbecker <fweisbec at gmail dot com>, Steven Rostedt <rostedt at goodmis dot org>, Ananth N Mavinakayanahalli <ananth at in dot ibm dot com>, Andrew Morton <akpm at linux-foundation dot org>, Andi Kleen <andi at firstfloor dot org>, Jim Keniston <jkenisto at us dot ibm dot com>, kvm at vger dot kernel dot org, systemtap-ml <systemtap at sources dot redhat dot com>, LKML <linux-kernel at vger dot kernel dot org>
- Date: Fri, 3 Apr 2009 14:12:02 +0200
- Subject: Re: [PATCH -tip 0/6 V4] tracing: kprobe-based event tracer
- References: <49D4F4B5.9040107@redhat.com> <20090403112639.GC31399@elte.hu> <49D5F80B.7000305@redhat.com>
* Avi Kivity <avi@redhat.com> wrote:
> Ingo Molnar wrote:
>> ok, the structure and concept looks quite good now, really nice!
>>
>> I'm wondering about something i suggested many moons ago: to look into
>> the KVM decoder+emulator (arch/x86/kvm/x86_emulate.c).
>>
>> I remember there were some issues with that (one problem being
>> that the KVM decoder is a special-purpose thing covering specific
>> range of execution environments - not a near-full integer-ops
>> decoder like the one we are aiming for here) - are there any
>> other fundamental problems beyond 'it has to be done' ?
>>
>> Conceptually we want just a single piece of decoder logic in
>> arch/x86/. If the KVM folks are cool with it we could factor out
>> the KVM one into arch/x86/lib/. But ... if there are compelling
>> reasons to leave the KVM one alone in its limited environment we
>> can do that too.
>
> kvm has three requirements not needed by kprobes:
> - it wants to execute instructions, not just decode them, including
> generating faults where appropriate
> - it is performance critical
> - it needs to support 16-bit, 32-bit, and 64-bit instructions simultaneously
>
> If an arch/x86/ decoder/emulator gives me these I'll gladly switch
> to it. x86_emulate.c is high on my list of most disliked code.
Well, this has to be driven from the KVM side as the kprobes use
will only be for decoding so if it's modified from the kprobes side
the KVM-only functionality might regress.
So ... we can do the library decoder for kprobes purposes, and
someone versed in the KVM emulator can then combine the two.
Ingo