From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Jan Beulich <JBeulich@suse.com>, "Wu, Feng" <feng.wu@intel.com>
Cc: Xen-devel List <xen-devel@lists.xen.org>
Subject: (Reluctant) request to revert several changes, due to regressing VM migration
Date: Wed, 4 Jun 2014 16:45:46 +0100 [thread overview]
Message-ID: <538F3F2A.7050202@citrix.com> (raw)
Changeset 31ee951a3 "x86/HVM: correct the SMEP logic for
HVM_CR0_GUEST_RESERVED_BITS" breaks migration for VMs using SMEP.
For migration, the architectural state is restored before the cpuid
policy is written. This appears to be the behaviour in libxl, and is
certainly the behaviour in Xapi.
As a result, a VM using SMEP will fail the CR4 check in
hvm_load_cpu_ctxt(). This is easy to observe by performing a localhost
migration of a modern HVM Linux VM which enables SMEP.
Changeset 58658992 performs an equivalent action for SMAP, and as such
will be equivalently broken on supporting hardware.
Specifically, c/s f952f9c7f0e which is the backport of 31ee951a3 into
staging-4.4 is the problematic change which is causing regressions in
XenServer testing.
This is a reluctant request as pragmatically the changeset is correct.
However, there is a chicken & egg problem for libxc trying to calculate
the cpuid policy, which requires bits from the "magic chunks" in the
migration stream to be loaded first. Therefore, simply moving the cpuid
policy calculation earlier will result in different problems.
~Andrew
next reply other threads:[~2014-06-04 15:45 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-04 15:45 Andrew Cooper [this message]
2014-06-04 16:00 ` (Reluctant) request to revert several changes, due to regressing VM migration Jan Beulich
2014-06-04 16:08 ` Andrew Cooper
2014-06-05 11:58 ` [PATCH] x86/HVM: refine SMEP/SMAP tests in HVM_CR4_GUEST_RESERVED_BITS() Jan Beulich
2014-06-05 13:07 ` David Vrabel
2014-06-06 1:20 ` Wu, Feng
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=538F3F2A.7050202@citrix.com \
--to=andrew.cooper3@citrix.com \
--cc=JBeulich@suse.com \
--cc=feng.wu@intel.com \
--cc=xen-devel@lists.xen.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).