Message ID | 20201008185735.29875-1-paul@xen.org (mailing list archive) |
---|---|
Headers | show |
Series | domain context infrastructure | expand |
On 08/10/2020 19:57, Paul Durrant wrote: > From: Paul Durrant <pdurrant@amazon.com> > > Paul Durrant (11): > docs / include: introduce a new framework for 'domain context' records > xen: introduce implementation of save/restore of 'domain context' > xen/common/domctl: introduce XEN_DOMCTL_get/set_domain_context > tools/misc: add xen-domctx to present domain context > common/domain: add a domain context record for shared_info... > x86/time: add a domain context record for tsc_info... > docs/specs: add missing definitions to libxc-migration-stream > docs / tools: specify migration v4 to include DOMAIN_CONTEXT > tools/python: modify libxc.py to verify v4 stream > tools/libs/guest: add code to restore a v4 libxc stream > tools/libs/guest: add code to save a v4 libxc stream Thanks - this is much better when it comes to the public API/ABI. However, my concerns still stands. What *else* is going in the domain context record, because you can pull the "bump the interface version and deprecated new fields" exactly once, as the libxg logic doesn't delve into domain context stream. At the moment this does increase the downtime of the VM for no gain. What I'm trying to understand is whether this is "no gain (yet)" or whether you consider this "done" as far as cooperative migrate is concerned. ~Andrew
From: Paul Durrant <pdurrant@amazon.com> Paul Durrant (11): docs / include: introduce a new framework for 'domain context' records xen: introduce implementation of save/restore of 'domain context' xen/common/domctl: introduce XEN_DOMCTL_get/set_domain_context tools/misc: add xen-domctx to present domain context common/domain: add a domain context record for shared_info... x86/time: add a domain context record for tsc_info... docs/specs: add missing definitions to libxc-migration-stream docs / tools: specify migration v4 to include DOMAIN_CONTEXT tools/python: modify libxc.py to verify v4 stream tools/libs/guest: add code to restore a v4 libxc stream tools/libs/guest: add code to save a v4 libxc stream .gitignore | 1 + docs/specs/domain-context.md | 198 +++++++++++++ docs/specs/libxc-migration-stream.pandoc | 69 ++++- tools/flask/policy/modules/xen.if | 4 +- tools/libs/ctrl/include/xenctrl.h | 5 + tools/libs/ctrl/xc_domain.c | 56 ++++ tools/libs/guest/xg_sr_common.c | 1 + tools/libs/guest/xg_sr_common.h | 3 + tools/libs/guest/xg_sr_common_x86.c | 20 -- tools/libs/guest/xg_sr_common_x86.h | 6 - tools/libs/guest/xg_sr_restore.c | 24 +- tools/libs/guest/xg_sr_restore_x86_hvm.c | 9 + tools/libs/guest/xg_sr_restore_x86_pv.c | 9 + tools/libs/guest/xg_sr_save.c | 52 +++- tools/libs/guest/xg_sr_save_x86_hvm.c | 5 - tools/libs/guest/xg_sr_save_x86_pv.c | 22 -- tools/libs/guest/xg_sr_stream_format.h | 1 + tools/misc/Makefile | 4 + tools/misc/xen-domctx.c | 264 ++++++++++++++++++ tools/python/xen/migration/libxc.py | 22 +- xen/arch/x86/time.c | 30 ++ xen/common/Makefile | 1 + xen/common/domain.c | 113 ++++++++ xen/common/domctl.c | 173 ++++++++++++ xen/common/save.c | 339 +++++++++++++++++++++++ xen/include/public/arch-arm/hvm/save.h | 5 + xen/include/public/arch-x86/hvm/save.h | 5 + xen/include/public/domctl.h | 39 +++ xen/include/public/save.h | 85 ++++++ xen/include/xen/save.h | 160 +++++++++++ xen/xsm/flask/hooks.c | 6 + xen/xsm/flask/policy/access_vectors | 4 + 32 files changed, 1661 insertions(+), 74 deletions(-) create mode 100644 docs/specs/domain-context.md create mode 100644 tools/misc/xen-domctx.c create mode 100644 xen/common/save.c create mode 100644 xen/include/public/save.h create mode 100644 xen/include/xen/save.h --- Cc: Andrew Cooper <andrew.cooper3@citrix.com> Cc: Daniel De Graaf <dgdegra@tycho.nsa.gov> Cc: George Dunlap <george.dunlap@citrix.com> Cc: Ian Jackson <iwj@xenproject.org> Cc: Jan Beulich <jbeulich@suse.com> Cc: Julien Grall <julien@xen.org> Cc: "Marek Marczykowski-Górecki" <marmarek@invisiblethingslab.com> Cc: "Roger Pau Monné" <roger.pau@citrix.com> Cc: Stefano Stabellini <sstabellini@kernel.org> Cc: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com> Cc: Wei Liu <wl@xen.org>