From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexander Graf Subject: Re: [PATCH 2/2] KVM: PPC: Book3E: Emulate MCSRR0/1 SPR and rfmci instruction Date: Tue, 09 Jul 2013 19:46:32 +0200 Message-ID: <51DC4C78.5080808@suse.de> References: <1372858255-19708-1-git-send-email-mihai.caraman@freescale.com> <1372858255-19708-2-git-send-email-mihai.caraman@freescale.com> <1C2B7183-EF0F-4D97-9287-1068C9E97471@suse.de> <1373390162.8183.195@snotra> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Mihai Caraman , kvm-ppc@vger.kernel.org, kvm@vger.kernel.org, linuxppc-dev@lists.ozlabs.org To: Scott Wood Return-path: In-Reply-To: <1373390162.8183.195@snotra> Sender: kvm-ppc-owner@vger.kernel.org List-Id: kvm.vger.kernel.org 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 >> > --- >> > 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