On 03.07.2013, at 19:44, Scott Wood wrote: > On 07/03/2013 12:23:16 PM, Alexander Graf wrote: >> On 03.07.2013, at 19:18, Scott Wood wrote: >> > On 07/03/2013 07:42:36 AM, Mihai Caraman wrote: >> >> Increase FPU laziness by calling kvmppc_load_guest_fp() just before >> >> returning to guest instead of each sched in. Without this improvement >> >> an interrupt may also claim floting point corrupting guest state. >> >> Signed-off-by: Mihai Caraman <mihai.caraman@xxxxxxxxxxxxx> >> >> --- >> >> arch/powerpc/kvm/booke.c | 1 + >> >> arch/powerpc/kvm/e500mc.c | 2 -- >> >> 2 files changed, 1 insertions(+), 2 deletions(-) >> >> diff --git a/arch/powerpc/kvm/booke.c b/arch/powerpc/kvm/booke.c >> >> index 113961f..3cae2e3 100644 >> >> --- a/arch/powerpc/kvm/booke.c >> >> +++ b/arch/powerpc/kvm/booke.c >> >> @@ -1204,6 +1204,7 @@ int kvmppc_handle_exit(struct kvm_run *run, struct kvm_vcpu *vcpu, >> >> r = (s << 2) | RESUME_HOST | (r & RESUME_FLAG_NV); >> >> } else { >> >> kvmppc_lazy_ee_enable(); >> >> + kvmppc_load_guest_fp(vcpu); >> >> } >> > >> > This should go before the kvmppc_lazy_ee_enable(). >> Why? What difference does that make? We're running with interrupts disabled here, right? > > Yes, and we want to minimize the code we run where we have interrupts disabled but the lazy ee state says they're enabled. So kvmppc_lazy_ee_enable() should be the last thing we do before entering asm code. > > See http://patchwork.ozlabs.org/patch/249565/ Ah, cool. So we should add a comment saying that this should be the last thing before entering asm code then :). That way we make sure nobody else repeats the same mistake. Alex -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html