All of lore.kernel.org
 help / color / mirror / Atom feed
* [Xen-devel] [PATCH 00/12] Support CPUID/MSR data in migration streams
@ 2019-12-24 15:19 Andrew Cooper
  2019-12-24 15:19 ` [Xen-devel] [PATCH 01/12] libxc/save: Shrink code volume where possible Andrew Cooper
                   ` (13 more replies)
  0 siblings, 14 replies; 60+ messages in thread
From: Andrew Cooper @ 2019-12-24 15:19 UTC (permalink / raw)
  To: Xen-devel
  Cc: Stefano Stabellini, Julien Grall, Wei Liu, Konrad Rzeszutek Wilk,
	George Dunlap, Andrew Cooper, Marek Marczykowski-Górecki,
	Jan Beulich, Ian Jackson

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

^ permalink raw reply	[flat|nested] 60+ messages in thread

end of thread, other threads:[~2020-05-29 15:59 UTC | newest]

Thread overview: 60+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-24 15:19 [Xen-devel] [PATCH 00/12] Support CPUID/MSR data in migration streams Andrew Cooper
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

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.