From: Andrey Drobyshev <andrey.drobyshev@virtuozzo.com>
To: svt-core@virtuozzo.com
Cc: andrey.drobyshev@virtuozzo.com, efim.shevrin@virtuozzo.com,
den@openvz.org
Subject: [RFC HCI-8.1 PATCH 3/5] qemu: back guest RAM with shared memfd for VMs with DMA-pinning devices #VSTOR-103860
Date: Fri, 9 Oct 2026 17:04:33 +0300 [thread overview]
Message-ID: <20261009140435.483100-4-andrey.drobyshev@virtuozzo.com> (raw)
In-Reply-To: <20261009140435.483100-1-andrey.drobyshev@virtuozzo.com>
VFIO hostdevs and mdevs, NVMe disks (QEMU's userspace driver on top of
VFIO) and vDPA interfaces make the guest RAM pinned for the IOMMU, so
the device can DMA into it. libvirt starts such VMs with anonymous
private RAM (memory-backend-ram) unless told otherwise.
qemu-update preserves anonymous RAM across exec with MADV_DOEXEC. The
first guest write to a page after the exec copies it, while the IOMMU
keeps pointing to the old pinned page: the device and the guest stop
seeing each other's data, and the passed-through device silently dies
(e.g. GPU GSP RPC timeouts, a NIC that neither sends nor receives).
Shared memfd RAM is handed over to the new QEMU as is and has no such
problem. Such VMs get no benefit from KSM anyway, since KSM never
merges pinned pages.
So when a new domain with any of these devices starts, back its guest
RAM with shared memfd, i.e. as if
<memoryBacking><source type='memfd'/><access mode='shared'/></memoryBacking>
was configured. Only the live definition is changed, and only if the
memory backing wasn't configured explicitly (no source, access mode or
hugepages, also per guest NUMA node) and QEMU supports memfd.
This is not done for incoming migration, restore or qemu-update: there
the live definition must stay as the running or saved QEMU has it. An
incoming migration still ends up with memfd if the source had it, as it
is part of the migrated definition.
The XML-to-argv outputs of all hostdev, mdev, NVMe and vDPA tests change
accordingly: memory-backend-ram becomes memory-backend-memfd with
share=true.
Signed-off-by: Andrey Drobyshev <andrey.drobyshev@virtuozzo.com>
---
src/qemu/qemu_process.c | 57 +++++++++++++++++++
.../disk-nvme.x86_64-latest.args | 2 +-
.../disk-slices.x86_64-latest.args | 2 +-
...tdev-mdev-display-ramfb.x86_64-latest.args | 2 +-
...play-spice-egl-headless.x86_64-latest.args | 2 +-
...ev-display-spice-opengl.x86_64-latest.args | 2 +-
...isplay-vnc-egl-headless.x86_64-latest.args | 2 +-
...ostdev-mdev-display-vnc.x86_64-latest.args | 2 +-
.../hostdev-mdev-display.x86_64-latest.args | 2 +-
...hostdev-mdev-precreated.x86_64-latest.args | 2 +-
...tdev-pci-address-device.x86_64-latest.args | 2 +-
...-pci-address-unassigned.x86_64-latest.args | 2 +-
.../hostdev-pci-address.x86_64-latest.args | 2 +-
...stdev-pci-display-ramfb.x86_64-latest.args | 2 +-
...stdev-pci-multifunction.x86_64-latest.args | 2 +-
...tdev-subsys-mdev-vfio-ap.s390x-latest.args | 2 +-
...ubsys-mdev-vfio-ccw-boot.s390x-latest.args | 2 +-
...dev-subsys-mdev-vfio-ccw.s390x-latest.args | 2 +-
...ostdev-vfio-multidomain.x86_64-latest.args | 2 +-
...o-zpci-autogenerate-fids.s390x-latest.args | 2 +-
...o-zpci-autogenerate-uids.s390x-latest.args | 2 +-
...v-vfio-zpci-autogenerate.s390x-latest.args | 2 +-
...dev-vfio-zpci-boundaries.s390x-latest.args | 2 +-
...vfio-zpci-ccw-memballoon.s390x-latest.args | 2 +-
...io-zpci-multidomain-many.s390x-latest.args | 2 +-
.../hostdev-vfio-zpci.s390x-latest.args | 2 +-
.../hostdev-vfio.x86_64-latest.args | 2 +-
.../machine-loadparm-hostdev.s390x-9.1.0.args | 2 +-
...machine-loadparm-hostdev.s390x-latest.args | 2 +-
.../net-hostdev-bootorder.x86_64-latest.args | 2 +-
...net-hostdev-multidomain.x86_64-latest.args | 2 +-
...ostdev-vfio-multidomain.x86_64-latest.args | 2 +-
.../net-hostdev-vfio.x86_64-latest.args | 2 +-
.../net-hostdev.x86_64-latest.args | 2 +-
.../net-vdpa-multiqueue.x86_64-latest.args | 2 +-
.../net-vdpa.x86_64-latest.args | 2 +-
...-virtio-teaming-hostdev.x86_64-latest.args | 2 +-
...-virtio-teaming-network.x86_64-latest.args | 2 +-
.../net-virtio-teaming.x86_64-latest.args | 2 +-
.../pci-rom.x86_64-latest.args | 2 +-
.../pseries-hostdevs-1.ppc64-latest.args | 2 +-
.../pseries-hostdevs-2.ppc64-latest.args | 2 +-
.../pseries-hostdevs-3.ppc64-latest.args | 2 +-
43 files changed, 99 insertions(+), 42 deletions(-)
diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
index df79349c9fb..cea6957ad1a 100644
--- a/src/qemu/qemu_process.c
+++ b/src/qemu/qemu_process.c
@@ -7972,6 +7972,59 @@ qemuProcessPrepareDomainStorage(virQEMUDriver *driver,
}
+/**
+ * qemuProcessPrepareDomainMemoryBacking:
+ * @vm: domain object
+ *
+ * Devices that DMA into guest RAM (VFIO hostdevs and mdevs, NVMe disks,
+ * vDPA interfaces) get the guest RAM pinned for the IOMMU. If that RAM
+ * is anonymous private memory, qemu-update preserves it across exec with
+ * MADV_DOEXEC, the first guest write after the exec copies the page, and
+ * the device keeps doing DMA to the old pinned page the guest no longer
+ * sees. Shared memfd RAM is handed over to the new QEMU as is and does
+ * not have this problem.
+ *
+ * So back guest RAM of such domains with shared memfd, unless the memory
+ * backing was configured explicitly. Only the live definition changes.
+ */
+static void
+qemuProcessPrepareDomainMemoryBacking(virDomainObj *vm)
+{
+ virDomainDef *def = vm->def;
+ qemuDomainObjPrivate *priv = vm->privateData;
+ size_t nnodes = virDomainNumaGetNodeCount(def->numa);
+ size_t i;
+
+ if (!qemuDomainNeedsVFIO(def) && !virDomainDefHasVDPANet(def))
+ return;
+
+ if (def->mem.source != VIR_DOMAIN_MEMORY_SOURCE_NONE ||
+ def->mem.access != VIR_DOMAIN_MEMORY_ACCESS_DEFAULT ||
+ def->mem.nhugepages > 0)
+ return;
+
+ for (i = 0; i < nnodes; i++) {
+ if (virDomainNumaGetNodeMemoryAccessMode(def->numa, i) !=
+ VIR_DOMAIN_MEMORY_ACCESS_DEFAULT)
+ return;
+ }
+
+ if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_OBJECT_MEMORY_MEMFD))
+ return;
+
+ /* Without guest NUMA nodes, RAM comes from a memory-backend object only
+ * if QEMU exposes the ID of the default RAM. */
+ if (nnodes == 0 &&
+ !virQEMUCapsGetMachineDefaultRAMid(priv->qemuCaps, def->virtType,
+ def->os.machine))
+ return;
+
+ VIR_DEBUG("Backing guest RAM with shared memfd: DMA-pinning devices present");
+ def->mem.source = VIR_DOMAIN_MEMORY_SOURCE_MEMFD;
+ def->mem.access = VIR_DOMAIN_MEMORY_ACCESS_SHARED;
+}
+
+
static int
qemuProcessPrepareDomainHostdevs(virDomainObj *vm,
qemuDomainObjPrivate *priv)
@@ -8185,6 +8238,10 @@ qemuProcessPrepareDomain(virQEMUDriver *driver,
VIR_DEBUG("Aligning guest memory");
if (qemuDomainAlignMemorySizes(vm->def) < 0)
return -1;
+
+ /* Never on qemu-update: the new QEMU must match the running one. */
+ if (!(flags & VIR_QEMU_PROCESS_START_X_QEMU_UPDATE))
+ qemuProcessPrepareDomainMemoryBacking(vm);
}
for (i = 0; i < vm->def->nchannels; i++) {
diff --git a/tests/qemuxmlconfdata/disk-nvme.x86_64-latest.args b/tests/qemuxmlconfdata/disk-nvme.x86_64-latest.args
index 4bb7d67dc98..31fc6d517bf 100644
--- a/tests/qemuxmlconfdata/disk-nvme.x86_64-latest.args
+++ b/tests/qemuxmlconfdata/disk-nvme.x86_64-latest.args
@@ -14,7 +14,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
-accel tcg \
-cpu qemu64 \
-m size=219136k \
--object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \
+-object '{"qom-type":"memory-backend-memfd","id":"pc.ram","share":true,"x-use-canonical-path-for-ramblock-id":false,"size":224395264}' \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
diff --git a/tests/qemuxmlconfdata/disk-slices.x86_64-latest.args b/tests/qemuxmlconfdata/disk-slices.x86_64-latest.args
index 658391c4778..2124e6b129e 100644
--- a/tests/qemuxmlconfdata/disk-slices.x86_64-latest.args
+++ b/tests/qemuxmlconfdata/disk-slices.x86_64-latest.args
@@ -14,7 +14,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
-accel tcg \
-cpu qemu64 \
-m size=219136k \
--object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \
+-object '{"qom-type":"memory-backend-memfd","id":"pc.ram","share":true,"x-use-canonical-path-for-ramblock-id":false,"size":224395264}' \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
diff --git a/tests/qemuxmlconfdata/hostdev-mdev-display-ramfb.x86_64-latest.args b/tests/qemuxmlconfdata/hostdev-mdev-display-ramfb.x86_64-latest.args
index d881c56af01..ffcc5562b6d 100644
--- a/tests/qemuxmlconfdata/hostdev-mdev-display-ramfb.x86_64-latest.args
+++ b/tests/qemuxmlconfdata/hostdev-mdev-display-ramfb.x86_64-latest.args
@@ -14,7 +14,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest2/.config \
-accel tcg \
-cpu qemu64 \
-m size=219136k \
--object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \
+-object '{"qom-type":"memory-backend-memfd","id":"pc.ram","share":true,"x-use-canonical-path-for-ramblock-id":false,"size":224395264}' \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
diff --git a/tests/qemuxmlconfdata/hostdev-mdev-display-spice-egl-headless.x86_64-latest.args b/tests/qemuxmlconfdata/hostdev-mdev-display-spice-egl-headless.x86_64-latest.args
index cd74de7b73e..ef8c0121ff6 100644
--- a/tests/qemuxmlconfdata/hostdev-mdev-display-spice-egl-headless.x86_64-latest.args
+++ b/tests/qemuxmlconfdata/hostdev-mdev-display-spice-egl-headless.x86_64-latest.args
@@ -14,7 +14,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest2/.config \
-accel tcg \
-cpu qemu64 \
-m size=219136k \
--object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \
+-object '{"qom-type":"memory-backend-memfd","id":"pc.ram","share":true,"x-use-canonical-path-for-ramblock-id":false,"size":224395264}' \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
diff --git a/tests/qemuxmlconfdata/hostdev-mdev-display-spice-opengl.x86_64-latest.args b/tests/qemuxmlconfdata/hostdev-mdev-display-spice-opengl.x86_64-latest.args
index 1b8b48b7428..4a863af3abd 100644
--- a/tests/qemuxmlconfdata/hostdev-mdev-display-spice-opengl.x86_64-latest.args
+++ b/tests/qemuxmlconfdata/hostdev-mdev-display-spice-opengl.x86_64-latest.args
@@ -14,7 +14,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest2/.config \
-accel tcg \
-cpu qemu64 \
-m size=219136k \
--object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \
+-object '{"qom-type":"memory-backend-memfd","id":"pc.ram","share":true,"x-use-canonical-path-for-ramblock-id":false,"size":224395264}' \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
diff --git a/tests/qemuxmlconfdata/hostdev-mdev-display-vnc-egl-headless.x86_64-latest.args b/tests/qemuxmlconfdata/hostdev-mdev-display-vnc-egl-headless.x86_64-latest.args
index be678cb85b8..a5ffde5a48e 100644
--- a/tests/qemuxmlconfdata/hostdev-mdev-display-vnc-egl-headless.x86_64-latest.args
+++ b/tests/qemuxmlconfdata/hostdev-mdev-display-vnc-egl-headless.x86_64-latest.args
@@ -14,7 +14,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest2/.config \
-accel tcg \
-cpu qemu64 \
-m size=219136k \
--object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \
+-object '{"qom-type":"memory-backend-memfd","id":"pc.ram","share":true,"x-use-canonical-path-for-ramblock-id":false,"size":224395264}' \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
diff --git a/tests/qemuxmlconfdata/hostdev-mdev-display-vnc.x86_64-latest.args b/tests/qemuxmlconfdata/hostdev-mdev-display-vnc.x86_64-latest.args
index b3e9d12f4e3..c4b59a37c1a 100644
--- a/tests/qemuxmlconfdata/hostdev-mdev-display-vnc.x86_64-latest.args
+++ b/tests/qemuxmlconfdata/hostdev-mdev-display-vnc.x86_64-latest.args
@@ -14,7 +14,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest2/.config \
-accel tcg \
-cpu qemu64 \
-m size=219136k \
--object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \
+-object '{"qom-type":"memory-backend-memfd","id":"pc.ram","share":true,"x-use-canonical-path-for-ramblock-id":false,"size":224395264}' \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
diff --git a/tests/qemuxmlconfdata/hostdev-mdev-display.x86_64-latest.args b/tests/qemuxmlconfdata/hostdev-mdev-display.x86_64-latest.args
index b3e9d12f4e3..c4b59a37c1a 100644
--- a/tests/qemuxmlconfdata/hostdev-mdev-display.x86_64-latest.args
+++ b/tests/qemuxmlconfdata/hostdev-mdev-display.x86_64-latest.args
@@ -14,7 +14,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest2/.config \
-accel tcg \
-cpu qemu64 \
-m size=219136k \
--object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \
+-object '{"qom-type":"memory-backend-memfd","id":"pc.ram","share":true,"x-use-canonical-path-for-ramblock-id":false,"size":224395264}' \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
diff --git a/tests/qemuxmlconfdata/hostdev-mdev-precreated.x86_64-latest.args b/tests/qemuxmlconfdata/hostdev-mdev-precreated.x86_64-latest.args
index 18e59f7520d..9c8064c7d3b 100644
--- a/tests/qemuxmlconfdata/hostdev-mdev-precreated.x86_64-latest.args
+++ b/tests/qemuxmlconfdata/hostdev-mdev-precreated.x86_64-latest.args
@@ -14,7 +14,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest2/.config \
-accel tcg \
-cpu qemu64 \
-m size=219136k \
--object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \
+-object '{"qom-type":"memory-backend-memfd","id":"pc.ram","share":true,"x-use-canonical-path-for-ramblock-id":false,"size":224395264}' \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
diff --git a/tests/qemuxmlconfdata/hostdev-pci-address-device.x86_64-latest.args b/tests/qemuxmlconfdata/hostdev-pci-address-device.x86_64-latest.args
index 2a00147ae4b..80970358b9c 100644
--- a/tests/qemuxmlconfdata/hostdev-pci-address-device.x86_64-latest.args
+++ b/tests/qemuxmlconfdata/hostdev-pci-address-device.x86_64-latest.args
@@ -14,7 +14,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest2/.config \
-accel tcg \
-cpu qemu64 \
-m size=219136k \
--object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \
+-object '{"qom-type":"memory-backend-memfd","id":"pc.ram","share":true,"x-use-canonical-path-for-ramblock-id":false,"size":224395264}' \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
-uuid c7a5fdbd-edaf-9466-926a-d65c16db1809 \
diff --git a/tests/qemuxmlconfdata/hostdev-pci-address-unassigned.x86_64-latest.args b/tests/qemuxmlconfdata/hostdev-pci-address-unassigned.x86_64-latest.args
index 1247ff547b1..0328d441dce 100644
--- a/tests/qemuxmlconfdata/hostdev-pci-address-unassigned.x86_64-latest.args
+++ b/tests/qemuxmlconfdata/hostdev-pci-address-unassigned.x86_64-latest.args
@@ -14,7 +14,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-delete/.config \
-accel kvm \
-cpu qemu64 \
-m size=262144k \
--object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":268435456}' \
+-object '{"qom-type":"memory-backend-memfd","id":"pc.ram","share":true,"x-use-canonical-path-for-ramblock-id":false,"size":268435456}' \
-overcommit mem-lock=off \
-smp 4,sockets=4,cores=1,threads=1 \
-uuid 583a8e8e-f0ce-4f53-89ab-092862148b25 \
diff --git a/tests/qemuxmlconfdata/hostdev-pci-address.x86_64-latest.args b/tests/qemuxmlconfdata/hostdev-pci-address.x86_64-latest.args
index f84904db82d..18dfa2d17d5 100644
--- a/tests/qemuxmlconfdata/hostdev-pci-address.x86_64-latest.args
+++ b/tests/qemuxmlconfdata/hostdev-pci-address.x86_64-latest.args
@@ -14,7 +14,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest2/.config \
-accel tcg \
-cpu qemu64 \
-m size=219136k \
--object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \
+-object '{"qom-type":"memory-backend-memfd","id":"pc.ram","share":true,"x-use-canonical-path-for-ramblock-id":false,"size":224395264}' \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
-uuid c7a5fdbd-edaf-9466-926a-d65c16db1809 \
diff --git a/tests/qemuxmlconfdata/hostdev-pci-display-ramfb.x86_64-latest.args b/tests/qemuxmlconfdata/hostdev-pci-display-ramfb.x86_64-latest.args
index a681504c3dd..332fff8b84a 100644
--- a/tests/qemuxmlconfdata/hostdev-pci-display-ramfb.x86_64-latest.args
+++ b/tests/qemuxmlconfdata/hostdev-pci-display-ramfb.x86_64-latest.args
@@ -14,7 +14,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest2/.config \
-accel tcg \
-cpu qemu64 \
-m size=219136k \
--object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \
+-object '{"qom-type":"memory-backend-memfd","id":"pc.ram","share":true,"x-use-canonical-path-for-ramblock-id":false,"size":224395264}' \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
diff --git a/tests/qemuxmlconfdata/hostdev-pci-multifunction.x86_64-latest.args b/tests/qemuxmlconfdata/hostdev-pci-multifunction.x86_64-latest.args
index f3bcec09837..12d10aed715 100644
--- a/tests/qemuxmlconfdata/hostdev-pci-multifunction.x86_64-latest.args
+++ b/tests/qemuxmlconfdata/hostdev-pci-multifunction.x86_64-latest.args
@@ -14,7 +14,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-delete/.config \
-accel kvm \
-cpu qemu64 \
-m size=262144k \
--object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":268435456}' \
+-object '{"qom-type":"memory-backend-memfd","id":"pc.ram","share":true,"x-use-canonical-path-for-ramblock-id":false,"size":268435456}' \
-overcommit mem-lock=off \
-smp 4,sockets=4,cores=1,threads=1 \
-uuid 583a8e8e-f0ce-4f53-89ab-092862148b25 \
diff --git a/tests/qemuxmlconfdata/hostdev-subsys-mdev-vfio-ap.s390x-latest.args b/tests/qemuxmlconfdata/hostdev-subsys-mdev-vfio-ap.s390x-latest.args
index 880265bb032..7c923d99f10 100644
--- a/tests/qemuxmlconfdata/hostdev-subsys-mdev-vfio-ap.s390x-latest.args
+++ b/tests/qemuxmlconfdata/hostdev-subsys-mdev-vfio-ap.s390x-latest.args
@@ -14,7 +14,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
-accel tcg \
-cpu qemu \
-m size=524288k \
--object '{"qom-type":"memory-backend-ram","id":"s390.ram","size":536870912}' \
+-object '{"qom-type":"memory-backend-memfd","id":"s390.ram","share":true,"x-use-canonical-path-for-ramblock-id":false,"size":536870912}' \
-overcommit mem-lock=off \
-smp 2,sockets=2,cores=1,threads=1 \
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
diff --git a/tests/qemuxmlconfdata/hostdev-subsys-mdev-vfio-ccw-boot.s390x-latest.args b/tests/qemuxmlconfdata/hostdev-subsys-mdev-vfio-ccw-boot.s390x-latest.args
index aeb07a9bcbd..6ed62006e3a 100644
--- a/tests/qemuxmlconfdata/hostdev-subsys-mdev-vfio-ccw-boot.s390x-latest.args
+++ b/tests/qemuxmlconfdata/hostdev-subsys-mdev-vfio-ccw-boot.s390x-latest.args
@@ -14,7 +14,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
-accel tcg \
-cpu qemu \
-m size=524288k \
--object '{"qom-type":"memory-backend-ram","id":"s390.ram","size":536870912}' \
+-object '{"qom-type":"memory-backend-memfd","id":"s390.ram","share":true,"x-use-canonical-path-for-ramblock-id":false,"size":536870912}' \
-overcommit mem-lock=off \
-smp 2,sockets=2,cores=1,threads=1 \
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
diff --git a/tests/qemuxmlconfdata/hostdev-subsys-mdev-vfio-ccw.s390x-latest.args b/tests/qemuxmlconfdata/hostdev-subsys-mdev-vfio-ccw.s390x-latest.args
index 01b182d44ef..dc225816355 100644
--- a/tests/qemuxmlconfdata/hostdev-subsys-mdev-vfio-ccw.s390x-latest.args
+++ b/tests/qemuxmlconfdata/hostdev-subsys-mdev-vfio-ccw.s390x-latest.args
@@ -14,7 +14,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
-accel tcg \
-cpu qemu \
-m size=524288k \
--object '{"qom-type":"memory-backend-ram","id":"s390.ram","size":536870912}' \
+-object '{"qom-type":"memory-backend-memfd","id":"s390.ram","share":true,"x-use-canonical-path-for-ramblock-id":false,"size":536870912}' \
-overcommit mem-lock=off \
-smp 2,sockets=2,cores=1,threads=1 \
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
diff --git a/tests/qemuxmlconfdata/hostdev-vfio-multidomain.x86_64-latest.args b/tests/qemuxmlconfdata/hostdev-vfio-multidomain.x86_64-latest.args
index fa3fd3aa997..ad08f942abe 100644
--- a/tests/qemuxmlconfdata/hostdev-vfio-multidomain.x86_64-latest.args
+++ b/tests/qemuxmlconfdata/hostdev-vfio-multidomain.x86_64-latest.args
@@ -14,7 +14,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest2/.config \
-accel tcg \
-cpu qemu64 \
-m size=219136k \
--object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \
+-object '{"qom-type":"memory-backend-memfd","id":"pc.ram","share":true,"x-use-canonical-path-for-ramblock-id":false,"size":224395264}' \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
-uuid c7a5fdbd-edaf-9466-926a-d65c16db1809 \
diff --git a/tests/qemuxmlconfdata/hostdev-vfio-zpci-autogenerate-fids.s390x-latest.args b/tests/qemuxmlconfdata/hostdev-vfio-zpci-autogenerate-fids.s390x-latest.args
index d0355d04b87..d6c1855a015 100644
--- a/tests/qemuxmlconfdata/hostdev-vfio-zpci-autogenerate-fids.s390x-latest.args
+++ b/tests/qemuxmlconfdata/hostdev-vfio-zpci-autogenerate-fids.s390x-latest.args
@@ -14,7 +14,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
-accel tcg \
-cpu qemu \
-m size=219136k \
--object '{"qom-type":"memory-backend-ram","id":"s390.ram","size":224395264}' \
+-object '{"qom-type":"memory-backend-memfd","id":"s390.ram","share":true,"x-use-canonical-path-for-ramblock-id":false,"size":224395264}' \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
diff --git a/tests/qemuxmlconfdata/hostdev-vfio-zpci-autogenerate-uids.s390x-latest.args b/tests/qemuxmlconfdata/hostdev-vfio-zpci-autogenerate-uids.s390x-latest.args
index 6754899fe40..c71df6ab57f 100644
--- a/tests/qemuxmlconfdata/hostdev-vfio-zpci-autogenerate-uids.s390x-latest.args
+++ b/tests/qemuxmlconfdata/hostdev-vfio-zpci-autogenerate-uids.s390x-latest.args
@@ -14,7 +14,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
-accel tcg \
-cpu qemu \
-m size=219136k \
--object '{"qom-type":"memory-backend-ram","id":"s390.ram","size":224395264}' \
+-object '{"qom-type":"memory-backend-memfd","id":"s390.ram","share":true,"x-use-canonical-path-for-ramblock-id":false,"size":224395264}' \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
diff --git a/tests/qemuxmlconfdata/hostdev-vfio-zpci-autogenerate.s390x-latest.args b/tests/qemuxmlconfdata/hostdev-vfio-zpci-autogenerate.s390x-latest.args
index 2c142c1e5a6..75bfe10700f 100644
--- a/tests/qemuxmlconfdata/hostdev-vfio-zpci-autogenerate.s390x-latest.args
+++ b/tests/qemuxmlconfdata/hostdev-vfio-zpci-autogenerate.s390x-latest.args
@@ -14,7 +14,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
-accel tcg \
-cpu qemu \
-m size=219136k \
--object '{"qom-type":"memory-backend-ram","id":"s390.ram","size":224395264}' \
+-object '{"qom-type":"memory-backend-memfd","id":"s390.ram","share":true,"x-use-canonical-path-for-ramblock-id":false,"size":224395264}' \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
diff --git a/tests/qemuxmlconfdata/hostdev-vfio-zpci-boundaries.s390x-latest.args b/tests/qemuxmlconfdata/hostdev-vfio-zpci-boundaries.s390x-latest.args
index 3bf6534c362..93f15c430b6 100644
--- a/tests/qemuxmlconfdata/hostdev-vfio-zpci-boundaries.s390x-latest.args
+++ b/tests/qemuxmlconfdata/hostdev-vfio-zpci-boundaries.s390x-latest.args
@@ -14,7 +14,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
-accel tcg \
-cpu qemu \
-m size=219136k \
--object '{"qom-type":"memory-backend-ram","id":"s390.ram","size":224395264}' \
+-object '{"qom-type":"memory-backend-memfd","id":"s390.ram","share":true,"x-use-canonical-path-for-ramblock-id":false,"size":224395264}' \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
diff --git a/tests/qemuxmlconfdata/hostdev-vfio-zpci-ccw-memballoon.s390x-latest.args b/tests/qemuxmlconfdata/hostdev-vfio-zpci-ccw-memballoon.s390x-latest.args
index d69ebfc8fdb..37635a3e25c 100644
--- a/tests/qemuxmlconfdata/hostdev-vfio-zpci-ccw-memballoon.s390x-latest.args
+++ b/tests/qemuxmlconfdata/hostdev-vfio-zpci-ccw-memballoon.s390x-latest.args
@@ -14,7 +14,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-KVMGuest1/.config \
-accel kvm \
-cpu gen16a-base,nnpa=on,aen=on,cmmnt=on,vxpdeh=on,aefsi=on,diag318=on,csske=on,mepoch=on,msa9=on,msa8=on,msa7=on,msa6=on,msa5=on,msa4=on,msa3=on,msa2=on,msa1=on,sthyi=on,edat=on,ri=on,deflate=on,edat2=on,etoken=on,vx=on,ipter=on,pai=on,paie=on,mepochptff=on,ap=on,vxeh=on,vxpd=on,esop=on,msa9_pckmo=on,vxeh2=on,esort=on,appv=on,apqi=on,apft=on,els=on,iep=on,appvi=on,apqci=on,cte=on,ais=on,bpb=on,ctop=on,gs=on,ppa15=on,zpci=on,rdp=on,sea_esop2=on,beareh=on,te=on,cmm=on,vxpdeh2=on \
-m size=219136k \
--object '{"qom-type":"memory-backend-ram","id":"s390.ram","size":224395264}' \
+-object '{"qom-type":"memory-backend-memfd","id":"s390.ram","share":true,"x-use-canonical-path-for-ramblock-id":false,"size":224395264}' \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
diff --git a/tests/qemuxmlconfdata/hostdev-vfio-zpci-multidomain-many.s390x-latest.args b/tests/qemuxmlconfdata/hostdev-vfio-zpci-multidomain-many.s390x-latest.args
index 43b861b65ca..948bb876fed 100644
--- a/tests/qemuxmlconfdata/hostdev-vfio-zpci-multidomain-many.s390x-latest.args
+++ b/tests/qemuxmlconfdata/hostdev-vfio-zpci-multidomain-many.s390x-latest.args
@@ -14,7 +14,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
-accel tcg \
-cpu qemu \
-m size=219136k \
--object '{"qom-type":"memory-backend-ram","id":"s390.ram","size":224395264}' \
+-object '{"qom-type":"memory-backend-memfd","id":"s390.ram","share":true,"x-use-canonical-path-for-ramblock-id":false,"size":224395264}' \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
diff --git a/tests/qemuxmlconfdata/hostdev-vfio-zpci.s390x-latest.args b/tests/qemuxmlconfdata/hostdev-vfio-zpci.s390x-latest.args
index 852fe0206a4..1e923207ca5 100644
--- a/tests/qemuxmlconfdata/hostdev-vfio-zpci.s390x-latest.args
+++ b/tests/qemuxmlconfdata/hostdev-vfio-zpci.s390x-latest.args
@@ -14,7 +14,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
-accel tcg \
-cpu qemu \
-m size=219136k \
--object '{"qom-type":"memory-backend-ram","id":"s390.ram","size":224395264}' \
+-object '{"qom-type":"memory-backend-memfd","id":"s390.ram","share":true,"x-use-canonical-path-for-ramblock-id":false,"size":224395264}' \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
diff --git a/tests/qemuxmlconfdata/hostdev-vfio.x86_64-latest.args b/tests/qemuxmlconfdata/hostdev-vfio.x86_64-latest.args
index 658fc2559eb..7054582818e 100644
--- a/tests/qemuxmlconfdata/hostdev-vfio.x86_64-latest.args
+++ b/tests/qemuxmlconfdata/hostdev-vfio.x86_64-latest.args
@@ -14,7 +14,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest2/.config \
-accel tcg \
-cpu qemu64 \
-m size=219136k \
--object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \
+-object '{"qom-type":"memory-backend-memfd","id":"pc.ram","share":true,"x-use-canonical-path-for-ramblock-id":false,"size":224395264}' \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
-uuid c7a5fdbd-edaf-9466-926a-d65c16db1809 \
diff --git a/tests/qemuxmlconfdata/machine-loadparm-hostdev.s390x-9.1.0.args b/tests/qemuxmlconfdata/machine-loadparm-hostdev.s390x-9.1.0.args
index 0a025e6335b..fa0666550e2 100644
--- a/tests/qemuxmlconfdata/machine-loadparm-hostdev.s390x-9.1.0.args
+++ b/tests/qemuxmlconfdata/machine-loadparm-hostdev.s390x-9.1.0.args
@@ -14,7 +14,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
-accel tcg \
-cpu qemu \
-m size=524288k \
--object '{"qom-type":"memory-backend-ram","id":"s390.ram","size":536870912}' \
+-object '{"qom-type":"memory-backend-memfd","id":"s390.ram","share":true,"x-use-canonical-path-for-ramblock-id":false,"size":536870912}' \
-overcommit mem-lock=off \
-smp 2,sockets=2,cores=1,threads=1 \
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
diff --git a/tests/qemuxmlconfdata/machine-loadparm-hostdev.s390x-latest.args b/tests/qemuxmlconfdata/machine-loadparm-hostdev.s390x-latest.args
index 39f77c14e7e..fa4084739ed 100644
--- a/tests/qemuxmlconfdata/machine-loadparm-hostdev.s390x-latest.args
+++ b/tests/qemuxmlconfdata/machine-loadparm-hostdev.s390x-latest.args
@@ -14,7 +14,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
-accel tcg \
-cpu qemu \
-m size=524288k \
--object '{"qom-type":"memory-backend-ram","id":"s390.ram","size":536870912}' \
+-object '{"qom-type":"memory-backend-memfd","id":"s390.ram","share":true,"x-use-canonical-path-for-ramblock-id":false,"size":536870912}' \
-overcommit mem-lock=off \
-smp 2,sockets=2,cores=1,threads=1 \
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
diff --git a/tests/qemuxmlconfdata/net-hostdev-bootorder.x86_64-latest.args b/tests/qemuxmlconfdata/net-hostdev-bootorder.x86_64-latest.args
index 26c61e29e23..432627f037f 100644
--- a/tests/qemuxmlconfdata/net-hostdev-bootorder.x86_64-latest.args
+++ b/tests/qemuxmlconfdata/net-hostdev-bootorder.x86_64-latest.args
@@ -14,7 +14,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
-accel tcg \
-cpu qemu64 \
-m size=219136k \
--object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \
+-object '{"qom-type":"memory-backend-memfd","id":"pc.ram","share":true,"x-use-canonical-path-for-ramblock-id":false,"size":224395264}' \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
diff --git a/tests/qemuxmlconfdata/net-hostdev-multidomain.x86_64-latest.args b/tests/qemuxmlconfdata/net-hostdev-multidomain.x86_64-latest.args
index 2e94db50a1e..f9c46a9df79 100644
--- a/tests/qemuxmlconfdata/net-hostdev-multidomain.x86_64-latest.args
+++ b/tests/qemuxmlconfdata/net-hostdev-multidomain.x86_64-latest.args
@@ -14,7 +14,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
-accel tcg \
-cpu qemu64 \
-m size=219136k \
--object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \
+-object '{"qom-type":"memory-backend-memfd","id":"pc.ram","share":true,"x-use-canonical-path-for-ramblock-id":false,"size":224395264}' \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
diff --git a/tests/qemuxmlconfdata/net-hostdev-vfio-multidomain.x86_64-latest.args b/tests/qemuxmlconfdata/net-hostdev-vfio-multidomain.x86_64-latest.args
index c0e17fb91ca..bd59a926816 100644
--- a/tests/qemuxmlconfdata/net-hostdev-vfio-multidomain.x86_64-latest.args
+++ b/tests/qemuxmlconfdata/net-hostdev-vfio-multidomain.x86_64-latest.args
@@ -14,7 +14,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
-accel tcg \
-cpu qemu64 \
-m size=219136k \
--object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \
+-object '{"qom-type":"memory-backend-memfd","id":"pc.ram","share":true,"x-use-canonical-path-for-ramblock-id":false,"size":224395264}' \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
diff --git a/tests/qemuxmlconfdata/net-hostdev-vfio.x86_64-latest.args b/tests/qemuxmlconfdata/net-hostdev-vfio.x86_64-latest.args
index 051afb53ac9..1f8d5357d95 100644
--- a/tests/qemuxmlconfdata/net-hostdev-vfio.x86_64-latest.args
+++ b/tests/qemuxmlconfdata/net-hostdev-vfio.x86_64-latest.args
@@ -14,7 +14,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
-accel tcg \
-cpu qemu64 \
-m size=219136k \
--object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \
+-object '{"qom-type":"memory-backend-memfd","id":"pc.ram","share":true,"x-use-canonical-path-for-ramblock-id":false,"size":224395264}' \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
diff --git a/tests/qemuxmlconfdata/net-hostdev.x86_64-latest.args b/tests/qemuxmlconfdata/net-hostdev.x86_64-latest.args
index 8ee253826e2..263811a3486 100644
--- a/tests/qemuxmlconfdata/net-hostdev.x86_64-latest.args
+++ b/tests/qemuxmlconfdata/net-hostdev.x86_64-latest.args
@@ -14,7 +14,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
-accel tcg \
-cpu qemu64 \
-m size=219136k \
--object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \
+-object '{"qom-type":"memory-backend-memfd","id":"pc.ram","share":true,"x-use-canonical-path-for-ramblock-id":false,"size":224395264}' \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
diff --git a/tests/qemuxmlconfdata/net-vdpa-multiqueue.x86_64-latest.args b/tests/qemuxmlconfdata/net-vdpa-multiqueue.x86_64-latest.args
index e3aee785bfe..c4f618c1c06 100644
--- a/tests/qemuxmlconfdata/net-vdpa-multiqueue.x86_64-latest.args
+++ b/tests/qemuxmlconfdata/net-vdpa-multiqueue.x86_64-latest.args
@@ -14,7 +14,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
-accel tcg \
-cpu qemu64 \
-m size=219136k \
--object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \
+-object '{"qom-type":"memory-backend-memfd","id":"pc.ram","share":true,"x-use-canonical-path-for-ramblock-id":false,"size":224395264}' \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
diff --git a/tests/qemuxmlconfdata/net-vdpa.x86_64-latest.args b/tests/qemuxmlconfdata/net-vdpa.x86_64-latest.args
index 1fccd80199c..15e9cf0a341 100644
--- a/tests/qemuxmlconfdata/net-vdpa.x86_64-latest.args
+++ b/tests/qemuxmlconfdata/net-vdpa.x86_64-latest.args
@@ -14,7 +14,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
-accel tcg \
-cpu qemu64 \
-m size=219136k \
--object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \
+-object '{"qom-type":"memory-backend-memfd","id":"pc.ram","share":true,"x-use-canonical-path-for-ramblock-id":false,"size":224395264}' \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
diff --git a/tests/qemuxmlconfdata/net-virtio-teaming-hostdev.x86_64-latest.args b/tests/qemuxmlconfdata/net-virtio-teaming-hostdev.x86_64-latest.args
index a5cce0e27cb..fe6521e61b1 100644
--- a/tests/qemuxmlconfdata/net-virtio-teaming-hostdev.x86_64-latest.args
+++ b/tests/qemuxmlconfdata/net-virtio-teaming-hostdev.x86_64-latest.args
@@ -14,7 +14,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
-accel tcg \
-cpu qemu64 \
-m size=219136k \
--object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \
+-object '{"qom-type":"memory-backend-memfd","id":"pc.ram","share":true,"x-use-canonical-path-for-ramblock-id":false,"size":224395264}' \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
diff --git a/tests/qemuxmlconfdata/net-virtio-teaming-network.x86_64-latest.args b/tests/qemuxmlconfdata/net-virtio-teaming-network.x86_64-latest.args
index 0c07ec4c702..0255d1b586d 100644
--- a/tests/qemuxmlconfdata/net-virtio-teaming-network.x86_64-latest.args
+++ b/tests/qemuxmlconfdata/net-virtio-teaming-network.x86_64-latest.args
@@ -14,7 +14,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
-accel tcg \
-cpu qemu64 \
-m size=219136k \
--object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \
+-object '{"qom-type":"memory-backend-memfd","id":"pc.ram","share":true,"x-use-canonical-path-for-ramblock-id":false,"size":224395264}' \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
diff --git a/tests/qemuxmlconfdata/net-virtio-teaming.x86_64-latest.args b/tests/qemuxmlconfdata/net-virtio-teaming.x86_64-latest.args
index 090bf2979dd..a4cf2b9db94 100644
--- a/tests/qemuxmlconfdata/net-virtio-teaming.x86_64-latest.args
+++ b/tests/qemuxmlconfdata/net-virtio-teaming.x86_64-latest.args
@@ -14,7 +14,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
-accel tcg \
-cpu qemu64 \
-m size=219136k \
--object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \
+-object '{"qom-type":"memory-backend-memfd","id":"pc.ram","share":true,"x-use-canonical-path-for-ramblock-id":false,"size":224395264}' \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
diff --git a/tests/qemuxmlconfdata/pci-rom.x86_64-latest.args b/tests/qemuxmlconfdata/pci-rom.x86_64-latest.args
index a4a1c573191..70556423ac5 100644
--- a/tests/qemuxmlconfdata/pci-rom.x86_64-latest.args
+++ b/tests/qemuxmlconfdata/pci-rom.x86_64-latest.args
@@ -14,7 +14,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest2/.config \
-accel tcg \
-cpu qemu64 \
-m size=219136k \
--object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \
+-object '{"qom-type":"memory-backend-memfd","id":"pc.ram","share":true,"x-use-canonical-path-for-ramblock-id":false,"size":224395264}' \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
-uuid c7a5fdbd-edaf-9466-926a-d65c16db1809 \
diff --git a/tests/qemuxmlconfdata/pseries-hostdevs-1.ppc64-latest.args b/tests/qemuxmlconfdata/pseries-hostdevs-1.ppc64-latest.args
index 30d97d291c3..57fb8128b39 100644
--- a/tests/qemuxmlconfdata/pseries-hostdevs-1.ppc64-latest.args
+++ b/tests/qemuxmlconfdata/pseries-hostdevs-1.ppc64-latest.args
@@ -14,7 +14,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \
-accel tcg \
-cpu POWER10 \
-m size=524288k \
--object '{"qom-type":"memory-backend-ram","id":"ppc_spapr.ram","size":536870912}' \
+-object '{"qom-type":"memory-backend-memfd","id":"ppc_spapr.ram","share":true,"x-use-canonical-path-for-ramblock-id":false,"size":536870912}' \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
-uuid 1ccfd97d-5eb4-478a-bbe6-88d254c16db7 \
diff --git a/tests/qemuxmlconfdata/pseries-hostdevs-2.ppc64-latest.args b/tests/qemuxmlconfdata/pseries-hostdevs-2.ppc64-latest.args
index 4674158fd18..d7c97f4dae8 100644
--- a/tests/qemuxmlconfdata/pseries-hostdevs-2.ppc64-latest.args
+++ b/tests/qemuxmlconfdata/pseries-hostdevs-2.ppc64-latest.args
@@ -14,7 +14,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \
-accel tcg \
-cpu POWER10 \
-m size=524288k \
--object '{"qom-type":"memory-backend-ram","id":"ppc_spapr.ram","size":536870912}' \
+-object '{"qom-type":"memory-backend-memfd","id":"ppc_spapr.ram","share":true,"x-use-canonical-path-for-ramblock-id":false,"size":536870912}' \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
-uuid 1ccfd97d-5eb4-478a-bbe6-88d254c16db7 \
diff --git a/tests/qemuxmlconfdata/pseries-hostdevs-3.ppc64-latest.args b/tests/qemuxmlconfdata/pseries-hostdevs-3.ppc64-latest.args
index e85227a9517..90157f61c25 100644
--- a/tests/qemuxmlconfdata/pseries-hostdevs-3.ppc64-latest.args
+++ b/tests/qemuxmlconfdata/pseries-hostdevs-3.ppc64-latest.args
@@ -14,7 +14,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \
-accel tcg \
-cpu POWER10 \
-m size=524288k \
--object '{"qom-type":"memory-backend-ram","id":"ppc_spapr.ram","size":536870912}' \
+-object '{"qom-type":"memory-backend-memfd","id":"ppc_spapr.ram","share":true,"x-use-canonical-path-for-ramblock-id":false,"size":536870912}' \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
-uuid 1ccfd97d-5eb4-478a-bbe6-88d254c16db7 \
--
2.47.1
next prev parent reply other threads:[~2026-10-09 14:04 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-09 14:04 [RFC HCI-8.1 PATCH 0/5] qemu: allow qemu-update with VFIO hostdevs on shared memfd RAM #VSTOR-103860 Andrey Drobyshev
2026-10-09 14:04 ` [RFC HCI-8.1 PATCH 1/5] qemu update: allow qemu-update for VMs with PCI and USB hostdevs #VSTOR-103860 #VSTOR-137800 Andrey Drobyshev
2026-10-09 14:04 ` [RFC HCI-8.1 PATCH 2/5] qemu: capabilities: probe aux-ram-share machine property #VSTOR-103860 Andrey Drobyshev
2026-10-09 14:04 ` Andrey Drobyshev [this message]
2026-10-09 14:04 ` [RFC HCI-8.1 PATCH 4/5] qemu: share auxiliary RAM of VMs with DMA-pinning devices #VSTOR-103860 Andrey Drobyshev
2026-10-09 14:04 ` [RFC HCI-8.1 PATCH 5/5] qemu update: refuse PCI hostdevs on non-shared guest RAM #VSTOR-103860 Andrey Drobyshev
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261009140435.483100-4-andrey.drobyshev@virtuozzo.com \
--to=andrey.drobyshev@virtuozzo.com \
--cc=den@openvz.org \
--cc=efim.shevrin@virtuozzo.com \
--cc=svt-core@virtuozzo.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox