Re: [CFT PATCH v2 0/2] KVM: support XSAVES usage in the host

From: Wanpeng Li
Date: Tue Nov 25 2014 - 20:45:26 EST


Hi all,
On Tue, Nov 25, 2014 at 04:50:06PM +0200, Nadav Amit wrote:
>
>> On Nov 25, 2014, at 16:17, Paolo Bonzini <pbonzini@xxxxxxxxxx> wrote:
>>
>>
>>
>> On 25/11/2014 15:05, Nadav Amit wrote:
>>>> diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
>>>> index 373b0ab9a32e..ca26681455c2 100644
>>>> --- a/arch/x86/kvm/x86.c
>>>> +++ b/arch/x86/kvm/x86.c
>>>> @@ -6955,6 +6955,9 @@ int fx_init(struct kvm_vcpu *vcpu)
>>>> return err;
>>>>
>>>> fpu_finit(&vcpu->arch.guest_fpu);
>>>> + if (cpu_has_xsaves)
>>>> + vcpu->arch.guest_fpu.state->xsave.xsave_hdr.xcomp_bv =
>>>> + host_xcr0 | XSTATE_COMPACTION_ENABLED;
>>>>
>>>> /*
>>>> * Ensure guest xcr0 is valid for loading
>>>
>>> The second version works for me (w/qemu v2.1.0; Linux 3.13 guest). I

Could you try 3.17 guest which has xsaves enabled? Because I'm not sure if
the below codes from Paolo is enough to mask XSAVES, should we also add
F(XSAVES)?

+ const u32 kvm_supported_word10_x86_features =
+ F(XSAVEOPT) | F(XSAVEC) | F(XGETBV1);
+

In addition, the 3.17 guest is still hang as I mentioned even if I add the
F(XSAVES) to the kvm_supported_word10_x86_features.

>>> did not need to apply this patch on top. [although I am not sure whether
>>> relying on userspace to call KVM_SET_XSAVE early enough is a good practice].
>>
>> Did you actually try the patch? :) If it works, I'm tempted to apply it
>> anyway.
>Yes, I tried it both with and without this patch.
>Due to time constraints I only tested minimal functionality (Linux boot).
>I will run more tests in the near future. Anyhow, you can put the:
>
>Tested-by: Nadav Amit <namit@xxxxxxxxxxxxxxxxx>
>
>>
>>> One disclaimer: Since I got limited time with the machine, I executed
>>> a slightly modified kernel/qemu, and not the latest version.
>>> Anyhow, I donât think these differences can have any impact.
>>
>> Yes, that is no problem.
>
>I am just worried that Wanpeng reported it fails, while I report it works...
>

I have another patch which enable xsaves in KVM and the patch is still
under debug with Paolo's patch "KVM: x86: support XSAVES usage in the host",
so the 1/2 patch from Paolo can be dropped if my patch is ready. Anyway,
a quick fix is needed before enable xsaves in kvm.

Regards,
Wanpeng Li

>Nadav
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/