4aa5c4
From e52b12a986de8ac469b98135b2c1d2a8a63b9052 Mon Sep 17 00:00:00 2001
4aa5c4
Message-Id: <e52b12a986de8ac469b98135b2c1d2a8a63b9052@dist-git>
4aa5c4
From: Michal Privoznik <mprivozn@redhat.com>
4aa5c4
Date: Mon, 21 Mar 2022 17:10:15 +0100
4aa5c4
Subject: [PATCH] qemu_command: Generate prealloc-threads property
4aa5c4
4aa5c4
Let's generate prealloc-threads property onto the cmd line if
4aa5c4
domain configuration requests so.
4aa5c4
4aa5c4
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
4aa5c4
Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
4aa5c4
(cherry picked from commit b8d6ecc70c8a8e9c90bab48b6829b42d8b77c748)
4aa5c4
4aa5c4
Conflicts:
4aa5c4
tests/qemuxml2argvdata/memfd-memory-numa.x86_64-latest.args:
4aa5c4
Upstream has moved some cmd line arguments
4aa5c4
(v8.0.0-260-gaf23241cfe) but that is not backported.
4aa5c4
4aa5c4
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2067126
4aa5c4
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
4aa5c4
---
4aa5c4
 src/qemu/qemu_command.c                                     | 5 ++++-
4aa5c4
 tests/qemuxml2argvdata/memfd-memory-numa.x86_64-latest.args | 4 ++--
4aa5c4
 2 files changed, 6 insertions(+), 3 deletions(-)
4aa5c4
4aa5c4
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
4aa5c4
index 2acdcca2ff..d23af97e0c 100644
4aa5c4
--- a/src/qemu/qemu_command.c
4aa5c4
+++ b/src/qemu/qemu_command.c
4aa5c4
@@ -3856,7 +3856,10 @@ qemuBuildMemoryBackendProps(virJSONValue **backendProps,
4aa5c4
             return -1;
4aa5c4
     } else {
4aa5c4
         if (!priv->memPrealloc &&
4aa5c4
-            virJSONValueObjectAdd(&props, "B:prealloc", prealloc, NULL) < 0)
4aa5c4
+            virJSONValueObjectAdd(&props,
4aa5c4
+                                  "B:prealloc", prealloc,
4aa5c4
+                                  "p:prealloc-threads", def->mem.allocation_threads,
4aa5c4
+                                  NULL) < 0)
4aa5c4
             return -1;
4aa5c4
     }
4aa5c4
 
4aa5c4
diff --git a/tests/qemuxml2argvdata/memfd-memory-numa.x86_64-latest.args b/tests/qemuxml2argvdata/memfd-memory-numa.x86_64-latest.args
4aa5c4
index 04a320d469..9b2e6086c3 100644
4aa5c4
--- a/tests/qemuxml2argvdata/memfd-memory-numa.x86_64-latest.args
4aa5c4
+++ b/tests/qemuxml2argvdata/memfd-memory-numa.x86_64-latest.args
4aa5c4
@@ -16,7 +16,7 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-instance-00000092/.config \
4aa5c4
 -m size=14680064k,slots=16,maxmem=1099511627776k \
4aa5c4
 -overcommit mem-lock=off \
4aa5c4
 -smp 8,sockets=1,dies=1,cores=8,threads=1 \
4aa5c4
--object '{"qom-type":"memory-backend-memfd","id":"ram-node0","hugetlb":true,"hugetlbsize":2097152,"share":true,"prealloc":true,"size":15032385536,"host-nodes":[3],"policy":"preferred"}' \
4aa5c4
+-object '{"qom-type":"memory-backend-memfd","id":"ram-node0","hugetlb":true,"hugetlbsize":2097152,"share":true,"prealloc":true,"prealloc-threads":8,"size":15032385536,"host-nodes":[3],"policy":"preferred"}' \
4aa5c4
 -numa node,nodeid=0,cpus=0-7,memdev=ram-node0 \
4aa5c4
 -uuid 126f2720-6f8e-45ab-a886-ec9277079a67 \
4aa5c4
 -display none \
4aa5c4
@@ -29,7 +29,7 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-instance-00000092/.config \
4aa5c4
 -no-acpi \
4aa5c4
 -boot strict=on \
4aa5c4
 -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \
4aa5c4
--object '{"qom-type":"memory-backend-file","id":"memnvdimm0","mem-path":"/tmp/nvdimm","share":true,"prealloc":true,"size":536870912,"host-nodes":[3],"policy":"preferred"}' \
4aa5c4
+-object '{"qom-type":"memory-backend-file","id":"memnvdimm0","mem-path":"/tmp/nvdimm","share":true,"prealloc":true,"prealloc-threads":8,"size":536870912,"host-nodes":[3],"policy":"preferred"}' \
4aa5c4
 -device nvdimm,node=0,memdev=memnvdimm0,id=nvdimm0,slot=0 \
4aa5c4
 -audiodev '{"id":"audio1","driver":"none"}' \
4aa5c4
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 \
4aa5c4
-- 
4aa5c4
2.35.1
4aa5c4