All of lore.kernel.org
 help / color / mirror / Atom feed
* [Xen-devel] [PATCH v2 00/17] Support CPUID/MSR data in migration streams
@ 2020-01-27 14:34 Andrew Cooper
  2020-01-27 14:34 ` [Xen-devel] [PATCH v2 01/17] tools/libxl: Remove libxl_cpuid_{set, apply_policy}() from the API Andrew Cooper
                   ` (16 more replies)
  0 siblings, 17 replies; 47+ messages in thread
From: Andrew Cooper @ 2020-01-27 14:34 UTC (permalink / raw)
  To: Xen-devel
  Cc: Stefano Stabellini, Julien Grall, Wei Liu, Konrad Rzeszutek Wilk,
	George Dunlap, Andrew Cooper, Marek Marczykowski-Górecki,
	Ian Jackson

Here is v2 of the work to plumb CPUID/MSR data into the migration stream.

Patches 1 and 2 are cleanup.  3-8 are concerned with introducing the
STATIC_DATA_END record.  9-11 are some libxl work to reposition CPUID
construction during domain create.  12-14 are the introduction of the
X86_{CPUID,MSR}_DATA records, and 15-17 are the final adjustments in libxc and
libxl to use them.

This series does have a net change in behaviour for CPUID handing in migrated
domains.  See patch 16 for details.

Some acks are carried forwards from the v1 review.  Others are not.  The
majority change has been to shuffle the order of actions to hopefully make the
logic much more clear to follow.

~Andrew

Andrew Cooper (17):
  tools/libxl: Remove libxl_cpuid_{set,apply_policy}() from the API
  tools/libxl: Simplify callback handling in libxl-save-helper
  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 handle STATIC_DATA_END
  libxc/restore: STATIC_DATA_END inference for v2 compatibility
  libxc/save: Write a v3 stream
  tools/libxl: Provide a static_data_done callback for domain restore
  tools/libxl: Plumb a restore boolean down into libxl__build_pre()
  tools/libxl: Re-position CPUID handling during domain construction
  docs/migration: Specify X86_{CPUID,MSR}_POLICY records
  libxc/restore: Handle X86_{CPUID,MSR}_DATA records
  libxc/save: Write X86_{CPUID,MSR}_DATA records
  tools/libx[cl]: Plumb 'missing' through static_data_done() up into libxl
  tools/libxc: Restore CPUID/MSR data found in the migration stream
  docs/xl.cfg: Rewrite cpuid= section

 docs/man/xl.cfg.5.pod.in                   |  74 +++++++++++++-----
 docs/specs/libxc-migration-stream.pandoc   |  81 ++++++++++++++++++-
 tools/libxc/include/xenguest.h             |  11 +++
 tools/libxc/xc_cpuid_x86.c                 |   8 +-
 tools/libxc/xc_sr_common.c                 |   3 +
 tools/libxc/xc_sr_common.h                 |  35 ++++++++-
 tools/libxc/xc_sr_common_x86.c             | 120 +++++++++++++++++++++++++++++
 tools/libxc/xc_sr_common_x86.h             |  25 ++++++
 tools/libxc/xc_sr_restore.c                |  61 ++++++++++++++-
 tools/libxc/xc_sr_restore_x86_hvm.c        |  10 +++
 tools/libxc/xc_sr_restore_x86_pv.c         |  27 +++++++
 tools/libxc/xc_sr_save.c                   |  20 ++++-
 tools/libxc/xc_sr_save_x86_hvm.c           |   6 ++
 tools/libxc/xc_sr_save_x86_pv.c            |  14 +++-
 tools/libxc/xc_sr_stream_format.h          |   4 +-
 tools/libxl/libxl.h                        |  26 ++++++-
 tools/libxl/libxl_cpuid.c                  |   6 +-
 tools/libxl/libxl_create.c                 |  37 ++++++++-
 tools/libxl/libxl_dm.c                     |   2 +-
 tools/libxl/libxl_dom.c                    |  20 +++--
 tools/libxl/libxl_internal.h               |  10 ++-
 tools/libxl/libxl_nocpuid.c                |   6 +-
 tools/libxl/libxl_save_helper.c            |  16 ++--
 tools/libxl/libxl_save_msgs_gen.pl         |   3 +-
 tools/python/scripts/convert-legacy-stream |  13 +++-
 tools/python/scripts/verify-stream-v2      |   2 +-
 tools/python/xen/migration/libxc.py        |  74 ++++++++++++++++--
 27 files changed, 635 insertions(+), 79 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] 47+ messages in thread

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

Thread overview: 47+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-27 14:34 [Xen-devel] [PATCH v2 00/17] Support CPUID/MSR data in migration streams Andrew Cooper
2020-01-27 14:34 ` [Xen-devel] [PATCH v2 01/17] tools/libxl: Remove libxl_cpuid_{set, apply_policy}() from the API Andrew Cooper
2020-02-24 16:35   ` Andrew Cooper
2020-01-27 14:34 ` [Xen-devel] [PATCH v2 02/17] tools/libxl: Simplify callback handling in libxl-save-helper Andrew Cooper
2020-02-24 17:21   ` Ian Jackson
2020-01-27 14:34 ` [Xen-devel] [PATCH v2 03/17] tools/migration: Drop IHDR_VERSION constant from libxc and python Andrew Cooper
2020-02-24 17:25   ` Ian Jackson
2020-02-24 17:32     ` Andrew Cooper
2020-03-05 17:11       ` Ian Jackson
2020-04-14 18:16         ` Andrew Cooper
2020-04-27 16:07           ` [PATCH v2 03/17] tools/migration: Drop IHDR_VERSION constant from libxc and python [and 1 more messages] Ian Jackson
2020-01-27 14:34 ` [Xen-devel] [PATCH v2 04/17] docs/migration Specify migration v3 and STATIC_DATA_END Andrew Cooper
2020-01-27 14:34 ` [Xen-devel] [PATCH v2 05/17] python/migration: Update validation logic to understand a v3 stream Andrew Cooper
2020-02-24 17:28   ` Ian Jackson
2020-01-27 14:34 ` [Xen-devel] [PATCH v2 06/17] libxc/restore: Support v3 streams and handle STATIC_DATA_END Andrew Cooper
2020-02-24 17:29   ` Ian Jackson
2020-01-27 14:34 ` [Xen-devel] [PATCH v2 07/17] libxc/restore: STATIC_DATA_END inference for v2 compatibility Andrew Cooper
2020-02-24 17:32   ` Ian Jackson
2020-02-28 14:51     ` Andrew Cooper
2020-03-05 16:24       ` Ian Jackson
2020-04-14 18:43         ` Andrew Cooper
2020-05-29 15:53           ` Ian Jackson
2020-01-27 14:34 ` [Xen-devel] [PATCH v2 08/17] libxc/save: Write a v3 stream Andrew Cooper
2020-01-27 14:34 ` [Xen-devel] [PATCH v2 09/17] tools/libxl: Provide a static_data_done callback for domain restore Andrew Cooper
2020-01-27 14:34 ` [Xen-devel] [PATCH v2 10/17] tools/libxl: Plumb a restore boolean down into libxl__build_pre() Andrew Cooper
2020-02-24 17:39   ` Ian Jackson
2020-02-28 18:50     ` Andrew Cooper
2020-03-05 17:07       ` Ian Jackson
2020-04-14 20:23   ` [PATCH v3 10/17] tools/libxl: Plumb a restore boolean into libxl__domain_build_state Andrew Cooper
2020-04-27 16:02     ` Ian Jackson
2020-01-27 14:34 ` [Xen-devel] [PATCH v2 11/17] tools/libxl: Re-position CPUID handling during domain construction Andrew Cooper
2020-02-24 16:46   ` [Xen-devel] [PATCH v2.1 " Andrew Cooper
2020-01-27 14:34 ` [Xen-devel] [PATCH v2 12/17] docs/migration: Specify X86_{CPUID, MSR}_POLICY records Andrew Cooper
2020-02-24 17:41   ` Ian Jackson
2020-01-27 14:34 ` [Xen-devel] [PATCH v2 13/17] libxc/restore: Handle X86_{CPUID, MSR}_DATA records Andrew Cooper
2020-01-27 14:34 ` [Xen-devel] [PATCH v2 14/17] libxc/save: Write " Andrew Cooper
2020-04-14 20:24   ` Ping [PATCH v2 14/17] libxc/save: Write X86_{CPUID,MSR}_DATA records Andrew Cooper
2020-04-27 16:12   ` Ian Jackson
2020-01-27 14:34 ` [Xen-devel] [PATCH v2 15/17] tools/libx[cl]: Plumb 'missing' through static_data_done() up into libxl Andrew Cooper
2020-02-24 16:50   ` [Xen-devel] [PATCH v2.1 " Andrew Cooper
2020-02-26 12:02     ` Ian Jackson
2020-01-27 14:34 ` [Xen-devel] [PATCH v2 16/17] tools/libxc: Restore CPUID/MSR data found in the migration stream Andrew Cooper
2020-01-27 14:51   ` Jan Beulich
2020-01-27 15:52     ` Andrew Cooper
2020-01-27 14:34 ` [Xen-devel] [PATCH v2 17/17] docs/xl.cfg: Rewrite cpuid= section Andrew Cooper
2020-04-14 20:25   ` Ping " Andrew Cooper
2020-05-29 15:47   ` 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.