[PATCH v3 0/4] multiple memory backend support for CPR Live Updates

Michael Galaxy via Devel posted 4 patches 1 month ago
NEWS.rst                |   8 +++
docs/kbase/virtiofs.rst |   2 +
src/qemu/qemu.conf.in   |   4 ++
src/qemu/qemu_command.c |   6 +-
src/qemu/qemu_conf.c    | 139 +++++++++++++++++++++++++++++++++++-----
src/qemu/qemu_conf.h    |  16 +++--
src/qemu/qemu_domain.c  |  24 +++++--
src/qemu/qemu_driver.c  |  37 +++++++----
src/qemu/qemu_hotplug.c |   6 +-
src/qemu/qemu_process.c |  42 ++++++------
src/qemu/qemu_process.h |   6 +-
tests/testutilsqemu.c   |   5 +-
12 files changed, 224 insertions(+), 71 deletions(-)
[PATCH v3 0/4] multiple memory backend support for CPR Live Updates
Posted by Michael Galaxy via Devel 1 month ago
From: Michael Galaxy <mgalaxy@akamai.com>

CPR-based support for whole-hypervisor kexec-based live updates is
now finally merged into QEMU. In support of this, we need NUMA to be
supported in these kinds of environments. To do this we use a technology
called PMEM (persistent memory) in Linux, which underpins the ability for
CPR Live Updates to work so that QEMU memory can remain in RAM and
be recovered after a kexec operationg has completed. Our systems are highly
NUMA-aware, and so this patch series enables NUMA awareness for live updates.

Further, we make a small change that allows live migrations to work
between *non* PMEM-based systems and PMEM-based systems (and
vice-versa). This allows for seemless upgrades from non-live-compatible
systems to live-update-compatible sytems without any downtime.

Changes since v2:
1. Corrected invalid privateData casts and re-organized variables and
error codes.
2. Re-ran ninja test and corrected formatting
3. Tested that individual patches apply and build cleanly.
4. Separated out NEWS item into separate patch

Michael Galaxy (4):
  qemu.conf changes to support multiple memory backend
  Support live migration between file-backed memory and anonymous
    memory.
  Update configuration file documentation to  support multiple memory
    backends
  Add NEWS item for multiple memory backend support

 NEWS.rst                |   8 +++
 docs/kbase/virtiofs.rst |   2 +
 src/qemu/qemu.conf.in   |   4 ++
 src/qemu/qemu_command.c |   6 +-
 src/qemu/qemu_conf.c    | 139 +++++++++++++++++++++++++++++++++++-----
 src/qemu/qemu_conf.h    |  16 +++--
 src/qemu/qemu_domain.c  |  24 +++++--
 src/qemu/qemu_driver.c  |  37 +++++++----
 src/qemu/qemu_hotplug.c |   6 +-
 src/qemu/qemu_process.c |  42 ++++++------
 src/qemu/qemu_process.h |   6 +-
 tests/testutilsqemu.c   |   5 +-
 12 files changed, 224 insertions(+), 71 deletions(-)

-- 
2.34.1