[PATCH 2/2] KVM: PPC: Book3E: Emulate MCSRR0/1 SPR and rfmci instruction
Alexander Graf
agraf at suse.de
Wed Jul 10 03:46:32 EST 2013
On 07/09/2013 07:16 PM, Scott Wood wrote:
> On 07/08/2013 01:45:58 PM, Alexander Graf wrote:
>>
>> On 03.07.2013, at 15:30, Mihai Caraman wrote:
>>
>> > Some guests are making use of return from machine check instruction
>> > to do crazy things even though the 64-bit kernel doesn't handle yet
>> > this interrupt. Emulate MCSRR0/1 SPR and rfmci instruction
>> accordingly.
>> >
>> > Signed-off-by: Mihai Caraman <mihai.caraman at freescale.com>
>> > ---
>> > arch/powerpc/include/asm/kvm_host.h | 1 +
>> > arch/powerpc/kvm/booke_emulate.c | 25 +++++++++++++++++++++++++
>> > arch/powerpc/kvm/timing.c | 1 +
>> > 3 files changed, 27 insertions(+), 0 deletions(-)
>> >
>> > diff --git a/arch/powerpc/include/asm/kvm_host.h
>> b/arch/powerpc/include/asm/kvm_host.h
>> > index af326cd..0466789 100644
>> > --- a/arch/powerpc/include/asm/kvm_host.h
>> > +++ b/arch/powerpc/include/asm/kvm_host.h
>> > @@ -148,6 +148,7 @@ enum kvm_exit_types {
>> > EMULATED_TLBWE_EXITS,
>> > EMULATED_RFI_EXITS,
>> > EMULATED_RFCI_EXITS,
>> > + EMULATED_RFMCI_EXITS,
>>
>> I would quite frankly prefer to see us abandon the whole exit timing
>> framework in the kernel and instead use trace points. Then we don't
>> have to maintain all of this randomly exercised code.
>
> Would this map well to tracepoints? We're not trying to track
> discrete events, so much as accumulated time spent in different areas.
I think so. We'd just have to emit tracepoints as soon as we enter
handle_exit and in prepare_to_enter. Then a user space program should
have everything it needs to create statistics out of that. It would
certainly simplify the entry/exit path.
Alex
More information about the Linuxppc-dev
mailing list