Messages in this thread | | | Subject | Re: [PATCH 1/2] KVM: x86: disable MPX if host did not enable MPX XSAVE features | From | Yang Zhang <> | Date | Thu, 24 Mar 2016 21:06:27 +0800 |
| |
On 2016/3/11 20:09, Paolo Bonzini wrote:
Sorry for the late reply.
> > > On 11/03/2016 03:37, Yang Zhang wrote: >>> @@ -97,7 +104,7 @@ int kvm_update_cpuid(struct kvm_vcpu *vcpu) >>> if (best && (best->eax & (F(XSAVES) | F(XSAVEC)))) >>> best->ebx = xstate_required_size(vcpu->arch.xcr0, true); >>> >>> - vcpu->arch.eager_fpu = use_eager_fpu() || guest_cpuid_has_mpx(vcpu); >>> + vcpu->arch.eager_fpu = use_eager_fpu(); >> >> Hi Paolo, >> >> As i mentioned on another thread, force KVM to use eager fpu >> unconditionally may introduce the performance regression. Though the >> cost for eager fpu is very small especially in modern CPU, it still >> cannot be ignored on old platform. > > This patch doesn't change anything in that respect. It doesn't enable > eager FPU in any case where it wasn't already enabled before the patch.
I mean why not keep the old way that only activate the eager_fpu while guest sees the MPX bit in CPUID, like:
vcpu->arch.eager_fpu = use_eager_fpu() && guest_cpuid_has_mpx(vcpu);
Besides, vmx_fpu_activate is called when do vcpu_reset. So it seems no need to call fpu_activate() here again.
-- best regards yang
| |