This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]