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
next prev parent 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.