From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Keir Fraser <keir@xen.org>, Jan Beulich <JBeulich@suse.com>,
Ian Jackson <Ian.Jackson@eu.citrix.com>,
suravee.suthikulpanit@amd.com,
Sherry Hurwitz <sherry.hurwitz@amd.com>,
xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 RFC 2/4] x86/PV: support data breakpoint extension registers
Date: Thu, 27 Mar 2014 16:03:09 +0000 [thread overview]
Message-ID: <53344BBD.6030706@citrix.com> (raw)
In-Reply-To: <1395934132.22909.153.camel@kazak.uk.xensource.com>
On 27/03/14 15:28, Ian Campbell wrote:
> On Wed, 2014-03-26 at 14:13 +0000, Jan Beulich wrote:
>> Introducing an extension to XEN_DOMCTL_[gs]et_ext_vcpucontext similar
>> to the generic MSR save/restore logic recently added for HVM.
> "x86: generic MSRs save/restore" I guess?
>
> Is the intention here that the extvcpu context is a blob of opaque data
> from the pov of the migration tools?
>
> Do the protocol docs in xg_save_restore need updating due to this
> change?
>
> How does N->N+1 migration work out?
Having just rewritten all of this code from scratch, the details are
painfully present in my brain.
The answer is badly.
The blob is exactly 128 bytes long, starting from the beginning of the
domctl union. changeset e1dc98e3c "x86/vMCE: save/restore MCA
capabilities" introduced an explicit memset(0) on the content of the
struct domctl, meaning that this newly interpreted 'msr_count' shall
have the value 0.
Migration streams from before e1dc98e3c (Fri Feb 24 2012, Xen-4.2) will
have an uninitialised stack value instead of 0 for the newly interpreted
'msr_count' (unless the toolstack was complied with CONFIG_VALGRIND),
which will cause corruption in any migration stream from Xen-4.1 or before.
While I realise that this does technically fall within the statement of
supportability as far as upstream goes, it would be a show-stopper for
XenServer and I presume any other Xen based system with real customers
on older versions of Xen.
As this is a new feature, so not applicable for backport, can it wait
until my migration stream v2 work is submitted? The migration code
churn to support this in v2 would be far less, and would also guarantee
no breakage of older migration streams.
~Andrew
next prev parent reply other threads:[~2014-03-27 16:03 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <532880230200007800125450@nat28.tlf.novell.com>
2014-03-19 9:16 ` [PATCH RFC 0/4] x86/AMD: support newer hardware features Jan Beulich
2014-03-19 9:46 ` [PATCH RFC 1/4] x86/SVM: support data breakpoint extension registers Jan Beulich
2014-03-19 9:47 ` [PATCH RFC 2/4] x86/PV: " Jan Beulich
2014-03-19 9:47 ` [PATCH RFC 3/4] x86/AMD: support further feature masking MSRs Jan Beulich
[not found] ` <CAAAAutDJ3CzvGp9jWCS7=b3rQsG81+w_W7qXLKxDWB7QBU23DQ@mail.gmail.com>
2014-04-01 23:10 ` Fwd: " Aravind Gopalakrishnan
2014-04-03 22:44 ` Aravind Gopalakrishnan
2014-04-04 9:37 ` Jan Beulich
2014-04-04 16:21 ` Aravind Gopalakrishnan
2014-04-07 6:54 ` Jan Beulich
2014-04-07 8:52 ` Andrew Cooper
2014-04-07 9:14 ` Jan Beulich
2014-03-19 9:48 ` [PATCH RFC 4/4] x86/AMD: clean up pre-canned family/revision handling for CPUID masking Jan Beulich
2014-03-26 14:13 ` [PATCH v2 RFC 2/4] x86/PV: support data breakpoint extension registers Jan Beulich
2014-03-27 15:28 ` Ian Campbell
2014-03-27 16:03 ` Jan Beulich
2014-03-27 16:23 ` Ian Campbell
2014-03-27 16:44 ` Jan Beulich
2014-03-27 17:29 ` Ian Campbell
2014-03-28 8:05 ` Jan Beulich
2014-03-28 9:55 ` Ian Campbell
2014-03-28 10:43 ` Jan Beulich
2014-03-28 10:56 ` Ian Campbell
2014-03-27 16:03 ` Andrew Cooper [this message]
2014-03-27 16:37 ` Jan Beulich
2014-03-27 17:11 ` Andrew Cooper
2014-03-28 10:46 ` Jan Beulich
[not found] ` <CAAAAutAgdSJqYEjc4dtixuTS2S=PUx-L4Sy=JCQRZ57rTdoPCQ@mail.gmail.com>
2014-03-26 22:35 ` [PATCH RFC 0/4] x86/AMD: support newer hardware features Aravind Gopalakrishnan
2014-04-01 23:10 ` Aravind Gopalakrishnan
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=53344BBD.6030706@citrix.com \
--to=andrew.cooper3@citrix.com \
--cc=Ian.Campbell@citrix.com \
--cc=Ian.Jackson@eu.citrix.com \
--cc=JBeulich@suse.com \
--cc=keir@xen.org \
--cc=sherry.hurwitz@amd.com \
--cc=suravee.suthikulpanit@amd.com \
--cc=xen-devel@lists.xenproject.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).