lkml.org 
[lkml]   [2009]   [Apr]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH -tip 0/6 V4] tracing: kprobe-based event tracer

* 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


\
 
 \ /
  Last update: 2009-04-03 14:15    [from the cache]
©2003-2011 Jasper Spaans