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

Michael Galaxy via Devel posted 4 patches 3 months, 2 weeks ago
There is a newer version of this series
NEWS.rst                |   7 ++
docs/kbase/virtiofs.rst |   2 +
src/qemu/qemu.conf.in   |   2 +
src/qemu/qemu_command.c |   8 ++-
src/qemu/qemu_conf.c    | 141 +++++++++++++++++++++++++++++++++++-----
src/qemu/qemu_conf.h    |  14 ++--
src/qemu/qemu_domain.c  |  24 +++++--
src/qemu/qemu_driver.c  |  29 +++++----
src/qemu/qemu_hotplug.c |   6 +-
src/qemu/qemu_process.c |  44 +++++++------
src/qemu/qemu_process.h |   7 +-
tests/testutilsqemu.c   |   5 +-
12 files changed, 221 insertions(+), 68 deletions(-)
[PATCH RESEND v2 0/4] multiple memory backend support for CPR Live Updates
Posted by Michael Galaxy via Devel 3 months, 2 weeks 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.

Michael Galaxy (4):
  qemu.conf changes to support multiple memory backend
  Support live migration between file-backed memory and anonymous
    memory.
  Update unit test to support multiple memory backends
  Update documentation to reflect memory_backing_dir change in qemu.conf

 NEWS.rst                |   7 ++
 docs/kbase/virtiofs.rst |   2 +
 src/qemu/qemu.conf.in   |   2 +
 src/qemu/qemu_command.c |   8 ++-
 src/qemu/qemu_conf.c    | 141 +++++++++++++++++++++++++++++++++++-----
 src/qemu/qemu_conf.h    |  14 ++--
 src/qemu/qemu_domain.c  |  24 +++++--
 src/qemu/qemu_driver.c  |  29 +++++----
 src/qemu/qemu_hotplug.c |   6 +-
 src/qemu/qemu_process.c |  44 +++++++------
 src/qemu/qemu_process.h |   7 +-
 tests/testutilsqemu.c   |   5 +-
 12 files changed, 221 insertions(+), 68 deletions(-)

-- 
2.34.1
Re: [PATCH RESEND v2 0/4] multiple memory backend support for CPR Live Updates
Posted by Michael Galaxy via Devel 3 months, 2 weeks ago
I'm so sorry, Martin.

You literally JUST replied (this morning! so funny!) and I totally 
missed those emails.

I will reply in the other thread.

Please disregard this resend.

- Michael

On 8/6/24 15:32, mgalaxy@akamai.com wrote:
> 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.
>
> Michael Galaxy (4):
>    qemu.conf changes to support multiple memory backend
>    Support live migration between file-backed memory and anonymous
>      memory.
>    Update unit test to support multiple memory backends
>    Update documentation to reflect memory_backing_dir change in qemu.conf
>
>   NEWS.rst                |   7 ++
>   docs/kbase/virtiofs.rst |   2 +
>   src/qemu/qemu.conf.in   |   2 +
>   src/qemu/qemu_command.c |   8 ++-
>   src/qemu/qemu_conf.c    | 141 +++++++++++++++++++++++++++++++++++-----
>   src/qemu/qemu_conf.h    |  14 ++--
>   src/qemu/qemu_domain.c  |  24 +++++--
>   src/qemu/qemu_driver.c  |  29 +++++----
>   src/qemu/qemu_hotplug.c |   6 +-
>   src/qemu/qemu_process.c |  44 +++++++------
>   src/qemu/qemu_process.h |   7 +-
>   tests/testutilsqemu.c   |   5 +-
>   12 files changed, 221 insertions(+), 68 deletions(-)
>