All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v6 00/10] toolstack-based approach to pvhvm guest kexec
@ 2015-05-13  9:49 Vitaly Kuznetsov
  2015-05-13  9:49 ` [PATCH v6 01/10] xen: introduce SHUTDOWN_soft_reset shutdown reason Vitaly Kuznetsov
                   ` (9 more replies)
  0 siblings, 10 replies; 31+ messages in thread
From: Vitaly Kuznetsov @ 2015-05-13  9:49 UTC (permalink / raw)
  To: xen-devel
  Cc: Andrew Jones, Julien Grall, Keir Fraser, Ian Campbell,
	Stefano Stabellini, Andrew Cooper, Ian Jackson, Olaf Hering,
	Tim Deegan, David Vrabel, Jan Beulich, Wei Liu, Daniel De Graaf

This patch series provides x86 PVHVM domains with an ability to perform
kexec/kdump.

The main change in v6 is the XEN_DOMCTL_devour -> XENMEM_soft_reset change of
the newly introduced hypercall. This change was made because of two main
reasons:
1) Make it ARM-friendly by eliminating the mfn_to_gmfn() call (as m2p does not
   exist on ARM).
2) To support PoD guests we need to set some entries as PoD in the p2m and this
   is impossible with the 'XEN_DOMCTL_devour' approach when we reassign pages
   when they are freed as we don't free non-existent pages.

Changes/comments grouped by the reviewer name:

Olaf Hering:
- PoD guests now work and no special guest code is required. Ballooned out
  pages are not supposed to be a problem for kexec any more.

Ian Campbell:
- Changing the nature of the hypercall to make it ARM-friendly and eliminate
  'wait for the original domain to die' from xc_domain_soft_reset().
- Add commit message to the "xen: introduce SHUTDOWN_soft_reset shutdown
  reason" patch.
- Add LIBXL_HAVE_SHUTDWON_REASON_SOFT_RESET
- Use 'S' instead of 't' to indicate a domain in the 'soft reset' state.
- libxl__domain_soft_reset_destroy() is gone.
- INVALID_DOMID define migrated to libxl_internal.h. We don't need it to be the
  same with the one from xl_cmdimpl.c and it doesn't cross libxl library
  boundary, it is just a convenience.
- introduce enum domain_restart_type.
- other minor fixes.
- [not fixed] xc_domain_soft_reset() still gets and sets all HVM params
  sequentially. This is in line with current migration code and Andrew's
  'migration v2' work. In general I agree we can do better by introducing
  a new pair of hypercalls to get/set all HVM params at once but I'd like
  to suggest we leave this change out of scope of this series. Using the
  sequential approach has definitely lower risk for soft reset than for
  migration as we can migrate live and the domain performing soft reset is
  almost dead. Please let me know your thoughts.

Jan Beulich:
- Rewrite commit message describing DOMDYING_locked state.
- Rewrite the message in hwdom_shutdown()

Since the change is significant some of the review comments from v5 are now
irrelevant and the overall quality of the series could have dropped. It's also
been awhile since the v5. I'd like to apologize for all that.

v5 and all the history of the series is available here:
http://lists.xenproject.org/archives/html/xen-devel/2014-12/msg01312.html

Vitaly Kuznetsov (10):
  xen: introduce SHUTDOWN_soft_reset shutdown reason
  libxl: support SHUTDOWN_soft_reset shutdown reason
  xen: introduce DOMDYING_locked state
  xen: Introduce XENMEM_soft_reset operation
  xsm: add XENMEM_soft_reset support
  libxc: support XENMEM_soft_reset operation
  libxc: introduce soft reset for HVM domains
  xl: introduce enum domain_restart_type
  libxc: add XC_DEVICE_MODEL_SAVE_FILE
  (lib)xl: soft reset support

 docs/man/xl.cfg.pod.5                        |  12 ++
 tools/flask/policy/policy/modules/xen/xen.if |   2 +-
 tools/libxc/Makefile                         |   1 +
 tools/libxc/include/xenctrl.h                |   5 +
 tools/libxc/include/xenguest.h               |  21 +++
 tools/libxc/xc_domain.c                      |  18 ++
 tools/libxc/xc_domain_soft_reset.c           | 272 +++++++++++++++++++++++++++
 tools/libxl/libxl.c                          |   4 +
 tools/libxl/libxl.h                          |  13 ++
 tools/libxl/libxl_create.c                   | 121 +++++++++++-
 tools/libxl/libxl_dm.c                       |   2 +-
 tools/libxl/libxl_internal.h                 |  26 +++
 tools/libxl/libxl_types.idl                  |   4 +
 tools/libxl/xl.h                             |   7 +
 tools/libxl/xl_cmdimpl.c                     |  58 ++++--
 tools/python/xen/lowlevel/xl/xl.c            |   1 +
 xen/common/domain.c                          |   1 +
 xen/common/memory.c                          | 236 +++++++++++++++++++++++
 xen/common/shutdown.c                        |   6 +
 xen/include/public/memory.h                  |  34 +++-
 xen/include/public/sched.h                   |   3 +-
 xen/include/xen/sched.h                      |   3 +-
 xen/include/xsm/dummy.h                      |   7 +
 xen/include/xsm/xsm.h                        |   7 +
 xen/xsm/dummy.c                              |   1 +
 xen/xsm/flask/hooks.c                        |  12 ++
 xen/xsm/flask/policy/access_vectors          |   4 +
 27 files changed, 851 insertions(+), 30 deletions(-)
 create mode 100644 tools/libxc/xc_domain_soft_reset.c

-- 
1.9.3

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

end of thread, other threads:[~2015-05-26  8:50 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-05-13  9:49 [PATCH v6 00/10] toolstack-based approach to pvhvm guest kexec Vitaly Kuznetsov
2015-05-13  9:49 ` [PATCH v6 01/10] xen: introduce SHUTDOWN_soft_reset shutdown reason Vitaly Kuznetsov
2015-05-13  9:49 ` [PATCH v6 02/10] libxl: support " Vitaly Kuznetsov
2015-05-20  9:44   ` Wei Liu
2015-05-13  9:49 ` [PATCH v6 03/10] xen: introduce DOMDYING_locked state Vitaly Kuznetsov
2015-05-13  9:49 ` [PATCH v6 04/10] xen: Introduce XENMEM_soft_reset operation Vitaly Kuznetsov
2015-05-22  9:38   ` Jan Beulich
2015-05-22 15:36     ` Vitaly Kuznetsov
2015-05-22 16:26       ` Jan Beulich
2015-05-25  9:24         ` Tim Deegan
2015-05-25 10:06           ` Vitaly Kuznetsov
2015-05-25 16:13             ` Tim Deegan
2015-05-26  8:05               ` Vitaly Kuznetsov
2015-05-26  8:50                 ` Jan Beulich
2015-05-13  9:49 ` [PATCH v6 05/10] xsm: add XENMEM_soft_reset support Vitaly Kuznetsov
2015-05-20 23:30   ` Daniel De Graaf
2015-05-21  9:49     ` Vitaly Kuznetsov
2015-05-21 14:25       ` Daniel De Graaf
2015-05-22  9:40   ` Jan Beulich
2015-05-22 14:58     ` Daniel De Graaf
2015-05-22 15:26       ` Jan Beulich
2015-05-22 14:59     ` Vitaly Kuznetsov
2015-05-13  9:49 ` [PATCH v6 06/10] libxc: support XENMEM_soft_reset operation Vitaly Kuznetsov
2015-05-13  9:49 ` [PATCH v6 07/10] libxc: introduce soft reset for HVM domains Vitaly Kuznetsov
2015-05-20 15:10   ` Julien Grall
2015-05-20 15:20     ` Vitaly Kuznetsov
2015-05-20 15:28       ` Julien Grall
2015-05-13  9:49 ` [PATCH v6 08/10] xl: introduce enum domain_restart_type Vitaly Kuznetsov
2015-05-13  9:49 ` [PATCH v6 09/10] libxc: add XC_DEVICE_MODEL_SAVE_FILE Vitaly Kuznetsov
2015-05-13  9:49 ` [PATCH v6 10/10] (lib)xl: soft reset support Vitaly Kuznetsov
2015-05-22 14:55   ` Vitaly Kuznetsov

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.