From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: "Stefano Stabellini" <sstabellini@kernel.org>,
"Julien Grall" <julien@xen.org>, "Wei Liu" <wl@xen.org>,
"Konrad Rzeszutek Wilk" <konrad.wilk@oracle.com>,
"George Dunlap" <George.Dunlap@eu.citrix.com>,
"Andrew Cooper" <andrew.cooper3@citrix.com>,
"Marek Marczykowski-Górecki" <marmarek@invisiblethingslab.com>,
"Jan Beulich" <JBeulich@suse.com>,
"Ian Jackson" <ian.jackson@citrix.com>
Subject: [Xen-devel] [PATCH 00/12] Support CPUID/MSR data in migration streams
Date: Tue, 24 Dec 2019 15:19:20 +0000 [thread overview]
Message-ID: <20191224151932.6304-1-andrew.cooper3@citrix.com> (raw)
As an early christmas present, here is the pumbing work to include CPUID/MSR
data in migration streams.
For bisectability reasons, this is a large amount of plumbing with no overall
change in behaviour. Switching to use the CPUID/MSR data in the stream is
going to require some careful coordinated changes with libxl, which I haven't
quite managed to get working yet.
However, this subset of the work is now in a position to review.
The first 6 patches are various bits of cleanup. Patches 7-9 introduce
Migration v3 and the STATIC_DATA_END record. Patches 10-12 introduce the
X86_{CPUID,MSR}_POLICY records.
~Andrew
Andrew Cooper (12):
libxc/save: Shrink code volume where possible
libxc/restore: Introduce functionality to simplify blob handling
libxc/migration: Rationalise the 'checkpointed' field to 'stream_type'
libxc/migration: Adjust layout of struct xc_sr_context
tools/migration: Drop IHDR_VERSION constant from libxc and python
docs/migration Specify migration v3 and STATIC_DATA_END
python/migration: Update validation logic to understand a v3 stream
libxc/restore: Support v3 streams, and cope with v2 compatibilty
libxc/save: Write a v3 stream
docs/migration: Specify X86_{CPUID,MSR}_POLICY records
libxc/restore: Handle X86_{CPUID,MSR}_DATA records
libxc/save: Write X86_{CPUID,MSR}_DATA records
docs/specs/libxc-migration-stream.pandoc | 81 +++++++-
tools/libxc/include/xenguest.h | 15 +-
tools/libxc/xc_nomigrate.c | 4 +-
tools/libxc/xc_sr_common.c | 3 +
tools/libxc/xc_sr_common.h | 205 ++++++++++++-------
tools/libxc/xc_sr_common_x86.c | 97 +++++++++
tools/libxc/xc_sr_common_x86.h | 25 +++
tools/libxc/xc_sr_common_x86_pv.c | 50 ++---
tools/libxc/xc_sr_common_x86_pv.h | 4 +-
tools/libxc/xc_sr_restore.c | 82 ++++++--
tools/libxc/xc_sr_restore_x86_hvm.c | 35 ++--
tools/libxc/xc_sr_restore_x86_pv.c | 316 +++++++++++++++--------------
tools/libxc/xc_sr_save.c | 65 +++---
tools/libxc/xc_sr_save_x86_hvm.c | 31 +--
tools/libxc/xc_sr_save_x86_pv.c | 225 +++++++++-----------
tools/libxc/xc_sr_stream_format.h | 4 +-
tools/libxl/libxl_save_helper.c | 4 +-
tools/python/scripts/convert-legacy-stream | 13 +-
tools/python/scripts/verify-stream-v2 | 2 +-
tools/python/xen/migration/libxc.py | 74 ++++++-
20 files changed, 854 insertions(+), 481 deletions(-)
--
2.11.0
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
next reply other threads:[~2019-12-24 15:20 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-12-24 15:19 Andrew Cooper [this message]
2019-12-24 15:19 ` [Xen-devel] [PATCH 01/12] libxc/save: Shrink code volume where possible Andrew Cooper
2020-01-14 16:48 ` Ian Jackson
2020-01-14 16:55 ` Ian Jackson
2020-01-15 19:22 ` Andrew Cooper
2020-04-27 17:19 ` Ian Jackson
2020-04-27 19:55 ` Wei Liu
2020-04-27 20:00 ` Andrew Cooper
2020-04-28 9:46 ` Wei Liu
2019-12-24 15:19 ` [Xen-devel] [PATCH 02/12] libxc/restore: Introduce functionality to simplify blob handling Andrew Cooper
2020-01-14 16:50 ` Ian Jackson
2019-12-24 15:19 ` [Xen-devel] [PATCH 03/12] libxc/migration: Rationalise the 'checkpointed' field to 'stream_type' Andrew Cooper
2020-01-14 15:58 ` Ian Jackson
2019-12-24 15:19 ` [Xen-devel] [PATCH 04/12] libxc/migration: Adjust layout of struct xc_sr_context Andrew Cooper
2020-01-14 16:04 ` Ian Jackson
2019-12-24 15:19 ` [Xen-devel] [PATCH 05/12] tools/migration: Drop IHDR_VERSION constant from libxc and python Andrew Cooper
2020-01-14 16:05 ` Ian Jackson
2020-01-15 15:29 ` Andrew Cooper
2019-12-24 15:19 ` [Xen-devel] [PATCH 06/12] docs/migration Specify migration v3 and STATIC_DATA_END Andrew Cooper
2020-01-03 14:44 ` Jan Beulich
2020-01-09 14:54 ` Andrew Cooper
2020-01-14 16:07 ` Ian Jackson
2019-12-24 15:19 ` [Xen-devel] [PATCH 07/12] python/migration: Update validation logic to understand a v3 stream Andrew Cooper
2019-12-24 15:19 ` [Xen-devel] [PATCH 08/12] libxc/restore: Support v3 streams, and cope with v2 compatibilty Andrew Cooper
2020-01-14 17:02 ` Ian Jackson
2019-12-24 15:19 ` [Xen-devel] [PATCH 09/12] libxc/save: Write a v3 stream Andrew Cooper
2020-01-14 17:05 ` Ian Jackson
2019-12-24 15:19 ` [Xen-devel] [PATCH 10/12] docs/migration: Specify X86_{CPUID, MSR}_POLICY records Andrew Cooper
2020-01-03 14:49 ` Jan Beulich
2020-01-03 14:55 ` Andrew Cooper
2020-01-03 15:30 ` Jan Beulich
2020-01-09 15:30 ` Andrew Cooper
2020-01-14 16:12 ` Ian Jackson
2020-01-15 15:48 ` Andrew Cooper
2020-01-14 16:08 ` Ian Jackson
2020-01-15 15:36 ` Andrew Cooper
2019-12-24 15:19 ` [Xen-devel] [PATCH 11/12] libxc/restore: Handle X86_{CPUID, MSR}_DATA records Andrew Cooper
2020-01-14 17:16 ` Ian Jackson
2019-12-24 15:19 ` [Xen-devel] [PATCH 12/12] libxc/save: Write " Andrew Cooper
2020-01-14 17:21 ` Ian Jackson
2020-01-15 15:52 ` Andrew Cooper
2020-01-03 13:06 ` [Xen-devel] [PATCH] Use CPUID/MSR data from migration streams Andrew Cooper
2020-01-03 13:06 ` [Xen-devel] [PATCH 15/20] fixup tools/migration: Formatting and style cleanup Andrew Cooper
2020-01-03 13:06 ` [Xen-devel] [PATCH 16/20] tools/libxl: Simplify callback handling in libxl-save-helper Andrew Cooper
2020-01-14 17:27 ` Ian Jackson
2020-01-15 16:16 ` Andrew Cooper
2020-01-03 13:06 ` [Xen-devel] [PATCH 17/20] tools/libx[cl]: Plumb static_data_done() up into libxl Andrew Cooper
2020-01-14 17:30 ` Ian Jackson
2020-01-15 16:34 ` Andrew Cooper
2020-05-29 15:58 ` Ian Jackson
2020-01-03 13:06 ` [Xen-devel] [PATCH 18/20] tools/libxl: Plumb domain_create_state down into libxl__build_pre() Andrew Cooper
2020-01-14 17:32 ` Ian Jackson
2020-01-03 13:06 ` [Xen-devel] [PATCH 19/20] tools/libxl: Re-position CPUID handling during domain construction Andrew Cooper
2020-01-14 17:33 ` Ian Jackson
2020-01-14 17:51 ` Andrew Cooper
2020-01-14 18:12 ` Ian Jackson
2020-01-03 13:06 ` [Xen-devel] [PATCH 20/20] tools/libxc: Restore CPUID/MSR data found in the migration stream Andrew Cooper
2020-01-14 17:34 ` Ian Jackson
2020-01-15 18:53 ` [Xen-devel] [PATCH 0.5/12] tools/migration: Formatting and style cleanup Andrew Cooper
2020-01-15 21:26 ` Ian Jackson
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=20191224151932.6304-1-andrew.cooper3@citrix.com \
--to=andrew.cooper3@citrix.com \
--cc=George.Dunlap@eu.citrix.com \
--cc=JBeulich@suse.com \
--cc=ian.jackson@citrix.com \
--cc=julien@xen.org \
--cc=konrad.wilk@oracle.com \
--cc=marmarek@invisiblethingslab.com \
--cc=sstabellini@kernel.org \
--cc=wl@xen.org \
--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 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.