All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eduardo Habkost <ehabkost@redhat.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: kvm@vger.kernel.org,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	mtosatti@redhat.com,
	"Dr. David Alan Gilbert" <dgilbert@redhat.com>,
	qemu-devel@nongnu.org, quintela@redhat.com,
	Liran Alon <liran.alon@oracle.com>,
	rth@twiddle.net
Subject: Re: [PATCH] KVM: x86: Add support for save/load MSR_SMI_COUNT
Date: Tue, 24 Jul 2018 11:48:39 -0300	[thread overview]
Message-ID: <20180724144839.GG3896@localhost.localdomain> (raw)
In-Reply-To: <baabc7d2-3945-b016-4f93-7a67a9842bf1@redhat.com>

On Tue, Jul 24, 2018 at 04:40:15PM +0200, Paolo Bonzini wrote:
> On 24/07/2018 16:39, Eduardo Habkost wrote:
> > On Tue, Jul 24, 2018 at 12:29:12PM +0100, Dr. David Alan Gilbert wrote:
> >> * Liran Alon (liran.alon@oracle.com) wrote:
> >>> This MSR returns the number of #SMIs that occurred on
> >>> CPU since boot.
> >>>
> >>> KVM commit 52797bf9a875 ("KVM: x86: Add emulation of MSR_SMI_COUNT")
> >>> introduced support for emulating this MSR.
> >>>
> >>> This commit adds support for QEMU to save/load this
> >>> MSR for migration purposes.
> >>>
> >>> Signed-off-by: Liran Alon <liran.alon@oracle.com>
> >>> Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> >>> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> >>
> >> Note this breaks 2.12->2.11 migration if SMM is enabled
> >> with a:
> >>
> >> qemu-system-x86_64: error while loading state for instance 0x0 of device 'cpu'
> > 
> > Right, the MSR can't be enabled unconditionally.
> > 
> > It looks like there's no CPUID bit for reporting the MSR as
> > available?  How exactly would guests know if the MSR is really
> > safe to use?
> 
> As far as we know, the only guest that uses it is ESX.  Like most other
> MSRs, the guest should in general be ready for it to cause a #GP fault.

True, guests are normally ready to handle both cases: 1) MSR
working as in bare metal; 2) MSR reads causing a #GP fault.

But with the current KVM code, old machine-types can't implement
either of those cases, but only a 3rd option: MSR read won't
cause #GP, but MSR can unexpectedly reset due to live migration.
Are guests ready to handle that?

-- 
Eduardo

WARNING: multiple messages have this Message-ID (diff)
From: Eduardo Habkost <ehabkost@redhat.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: "Dr. David Alan Gilbert" <dgilbert@redhat.com>,
	Liran Alon <liran.alon@oracle.com>,
	qemu-devel@nongnu.org, mtosatti@redhat.com, rth@twiddle.net,
	kvm@vger.kernel.org,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	quintela@redhat.com
Subject: Re: [Qemu-devel] [PATCH] KVM: x86: Add support for save/load MSR_SMI_COUNT
Date: Tue, 24 Jul 2018 11:48:39 -0300	[thread overview]
Message-ID: <20180724144839.GG3896@localhost.localdomain> (raw)
In-Reply-To: <baabc7d2-3945-b016-4f93-7a67a9842bf1@redhat.com>

On Tue, Jul 24, 2018 at 04:40:15PM +0200, Paolo Bonzini wrote:
> On 24/07/2018 16:39, Eduardo Habkost wrote:
> > On Tue, Jul 24, 2018 at 12:29:12PM +0100, Dr. David Alan Gilbert wrote:
> >> * Liran Alon (liran.alon@oracle.com) wrote:
> >>> This MSR returns the number of #SMIs that occurred on
> >>> CPU since boot.
> >>>
> >>> KVM commit 52797bf9a875 ("KVM: x86: Add emulation of MSR_SMI_COUNT")
> >>> introduced support for emulating this MSR.
> >>>
> >>> This commit adds support for QEMU to save/load this
> >>> MSR for migration purposes.
> >>>
> >>> Signed-off-by: Liran Alon <liran.alon@oracle.com>
> >>> Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> >>> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> >>
> >> Note this breaks 2.12->2.11 migration if SMM is enabled
> >> with a:
> >>
> >> qemu-system-x86_64: error while loading state for instance 0x0 of device 'cpu'
> > 
> > Right, the MSR can't be enabled unconditionally.
> > 
> > It looks like there's no CPUID bit for reporting the MSR as
> > available?  How exactly would guests know if the MSR is really
> > safe to use?
> 
> As far as we know, the only guest that uses it is ESX.  Like most other
> MSRs, the guest should in general be ready for it to cause a #GP fault.

True, guests are normally ready to handle both cases: 1) MSR
working as in bare metal; 2) MSR reads causing a #GP fault.

But with the current KVM code, old machine-types can't implement
either of those cases, but only a 3rd option: MSR read won't
cause #GP, but MSR can unexpectedly reset due to live migration.
Are guests ready to handle that?

-- 
Eduardo

  reply	other threads:[~2018-07-24 14:48 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-27 10:22 [PATCH] KVM: x86: Add support for save/load MSR_SMI_COUNT Liran Alon
2018-02-27 10:22 ` [Qemu-devel] " Liran Alon
2018-07-24 11:29 ` Dr. David Alan Gilbert
2018-07-24 11:29   ` [Qemu-devel] " Dr. David Alan Gilbert
2018-07-24 14:39   ` Eduardo Habkost
2018-07-24 14:39     ` [Qemu-devel] " Eduardo Habkost
2018-07-24 14:40     ` Paolo Bonzini
2018-07-24 14:40       ` [Qemu-devel] " Paolo Bonzini
2018-07-24 14:48       ` Eduardo Habkost [this message]
2018-07-24 14:48         ` Eduardo Habkost
  -- strict thread matches above, loose matches on Subject: below --
2018-03-06  8:48 Liran Alon
2018-03-13  0:22 Liran Alon
2018-03-13  8:20 ` 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=20180724144839.GG3896@localhost.localdomain \
    --to=ehabkost@redhat.com \
    --cc=dgilbert@redhat.com \
    --cc=konrad.wilk@oracle.com \
    --cc=kvm@vger.kernel.org \
    --cc=liran.alon@oracle.com \
    --cc=mtosatti@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=quintela@redhat.com \
    --cc=rth@twiddle.net \
    /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.