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.cara...@freescale.com>
>> ---
>> 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/

-Scott
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to