From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wanpeng Li Subject: Re: [CFT PATCH v2 0/2] KVM: support XSAVES usage in the host Date: Wed, 26 Nov 2014 16:47:57 +0800 Message-ID: <20141126084757.GA1042@kernel> References: <1416847414-22253-1-git-send-email-pbonzini@redhat.com> <20141125101331.GA28985@kernel> <54745BB0.8080304@redhat.com> <400361E2-995A-44B4-B35A-0D35793B49DD@gmail.com> <54748F70.70402@redhat.com> <20141126012439.GA20090@kernel> Reply-To: Wanpeng Li Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: QUOTED-PRINTABLE Cc: Paolo Bonzini , linux-kernel@vger.kernel.org, kvm list , Nadav Amit , hpa@linux.intel.com To: Nadav Amit Return-path: Content-Disposition: inline In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org List-Id: kvm.vger.kernel.org Hi Nadav, On Wed, Nov 26, 2014 at 11:00:34AM +0200, Nadav Amit wrote: >Wanpeng Li wrote: > >> Hi all, >> On Tue, Nov 25, 2014 at 04:50:06PM +0200, Nadav Amit wrote: >>>> On Nov 25, 2014, at 16:17, Paolo Bonzini wro= te: >>>>=20 >>>>=20 >>>>=20 >>>> 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; >>>>>>=20 >>>>>> fpu_finit(&vcpu->arch.guest_fpu); >>>>>> + if (cpu_has_xsaves) >>>>>> + vcpu->arch.guest_fpu.state->xsave.xsave_hdr.xcomp_bv =3D >>>>>> + host_xcr0 | XSTATE_COMPACTION_ENABLED; >>>>>>=20 >>>>>> /* >>>>>> * Ensure guest xcr0 is valid for loading >>>>>=20 >>>>> The second version works for me (w/qemu v2.1.0; Linux 3.13 guest)= =2E I >>=20 >> Could you try 3.17 guest which has xsaves enabled? Because I'm not s= ure if=20 >> the below codes from Paolo is enough to mask XSAVES, should we also = add=20 >> F(XSAVES)? >I guess this paragraph is intended for me. As I said before, I got lim= ited >access to the machine - I will not be able to run these experiments be= fore >Sunday, and I am not sure that I will have time to fully debug it. If = you >insist, the very least please run some experiments running a 3.16 (or = older) >guest kernel and running 3.17 with =E2=80=98noxsaves=E2=80=99 kernel p= arameter. > >> + const u32 kvm_supported_word10_x86_features =3D >> + F(XSAVEOPT) | F(XSAVEC) | F(XGETBV1); >> + >>=20 >> In addition, the 3.17 guest is still hang as I mentioned even if I a= dd the=20 >> F(XSAVES) to the kvm_supported_word10_x86_features. >>=20 >>>>> 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]. >>>>=20 >>>> Did you actually try the patch? :) If it works, I'm tempted to ap= ply 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: >>>=20 >>> Tested-by: Nadav Amit >>>=20 >>>>> One disclaimer: Since I got limited time with the machine, I exec= uted >>>>> a slightly modified kernel/qemu, and not the latest version. >>>>> Anyhow, I don=E2=80=99t think these differences can have any impa= ct. >>>>=20 >>>> Yes, that is no problem. >>>=20 >>> I am just worried that Wanpeng reported it fails, while I report it= works... >>=20 >> I have another patch which enable xsaves in KVM and the patch is sti= ll >> under debug with Paolo's patch "KVM: x86: support XSAVES usage in th= e host", >> so the 1/2 patch from Paolo can be dropped if my patch is ready. Any= way, >> a quick fix is needed before enable xsaves in kvm.=20 >xsaves is already enabled in KVM (the host) since 3.17. It just didn=E2= =80=99t work=E2=80=A6 > Not yet, it is enabled in native currrently instead of vmx and my patch is still under debug. Regards, Wanpeng Li=20 >Nadav