All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paolo Bonzini <pbonzini@redhat.com>
To: Yang Zhang <yang.zhang.wz@gmail.com>
Cc: linux-kernel@vger.kernel.org, kvm@vger.kernel.org,
	Xiao Guangrong <guangrong.xiao@linux.intel.com>
Subject: Re: [PATCH 1/2] KVM: x86: disable MPX if host did not enable MPX XSAVE features
Date: Tue, 10 May 2016 14:38:38 +0200	[thread overview]
Message-ID: <5731D64E.2060101@redhat.com> (raw)
In-Reply-To: <570E15B9.5070205@gmail.com>



On 13/04/2016 11:47, Yang Zhang wrote:
> On 2016/3/24 21:07, Paolo Bonzini wrote:
>>
>>
>> On 24/03/2016 14:06, Yang Zhang wrote:
>>>
>>> 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);
>>
>> If the host uses eager FPU you can assume that it's faster than lazy FPU.
>>
>> Paolo
>>
>>> Besides, vmx_fpu_activate is called when do vcpu_reset. So it seems no
>>> need to call fpu_activate() here again.
> 
> Hi Paolo
> 
> The check in kvm_update_cpuid of fpu is strange since nothing relies on
> cpuid now. How about the following change?

Ok, please post it generated by git-format-patch and with a commit message.

Thanks,

Paolo

> diff --git a/arch/x86/kvm/cpuid.c b/arch/x86/kvm/cpuid.c
> index bbbaa80..da4e6ad 100644
> --- a/arch/x86/kvm/cpuid.c
> +++ b/arch/x86/kvm/cpuid.c
> @@ -114,9 +114,6 @@ 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);
> 
> -       if (use_eager_fpu())
> -               kvm_x86_ops->fpu_activate(vcpu);
> -
>         /*
>          * The existing code assumes virtual address is 48-bit in the
> canonical
>          * address checks; exit if it is ever changed.
> diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
> index 9b7798c..8f57335 100644
> --- a/arch/x86/kvm/x86.c
> +++ b/arch/x86/kvm/x86.c
> @@ -7453,6 +7453,9 @@ void kvm_vcpu_reset(struct kvm_vcpu *vcpu, bool
> init_event)
>         vcpu->arch.regs_avail = ~0;
>         vcpu->arch.regs_dirty = ~0;
> 
> +       if (use_eager_fpu())
> +               kvm_x86_ops->fpu_activate(vcpu);
> +
>         kvm_x86_ops->vcpu_reset(vcpu, init_event);
>  }
> 
> 

  reply	other threads:[~2016-05-10 12:38 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-08 11:44 [PATCH 0/2] KVM: x86: disable MPX if host did not enable MPX XSAVE features Paolo Bonzini
2016-03-08 11:44 ` [PATCH 1/2] " Paolo Bonzini
     [not found]   ` <CA+3C=r-NVn__gPVdYRSypzjfejRBgB4VVY5OpckS2QGjXnUu2Q@mail.gmail.com>
2016-03-11 12:09     ` Paolo Bonzini
2016-03-24 13:06       ` Yang Zhang
2016-03-24 13:07         ` Paolo Bonzini
2016-04-13  9:47           ` Yang Zhang
2016-05-10 12:38             ` Paolo Bonzini [this message]
2016-03-08 11:44 ` [PATCH 2/2] KVM: x86: remove eager_fpu field of struct kvm_vcpu_arch Paolo Bonzini
2016-03-10 12:28 ` [PATCH 0/2] KVM: x86: disable MPX if host did not enable MPX XSAVE features Xiao Guangrong
2016-03-10 12:30   ` Paolo Bonzini
2016-03-10 17:35     ` Ingo Molnar
2016-03-10 17:38       ` Paolo Bonzini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5731D64E.2060101@redhat.com \
    --to=pbonzini@redhat.com \
    --cc=guangrong.xiao@linux.intel.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=yang.zhang.wz@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.