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/
-Scott
--
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