mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-20 07:59:00 +00:00
qemu: Don't try to use hugepages if not enabled
https://bugzilla.redhat.com/show_bug.cgi?id=1214369 My fix 671d18594f4 was incomplete. If domain doesn't have hugepages enabled, because of missing condition we would still be putting hugepages path onto qemu cmd line. Clean up the conditions so that it's more visible next time. Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
parent
5e9ca5508d
commit
1e8d6c6ef0
@ -3410,19 +3410,19 @@ qemuBuildMemoryBackendStr(virJSONValuePtr *backendProps,
|
||||
def->mem.source == VIR_DOMAIN_MEMORY_SOURCE_FILE) {
|
||||
*backendType = "memory-backend-file";
|
||||
|
||||
if (mem->nvdimmPath) {
|
||||
if (pagesize) {
|
||||
if (qemuGetDomainHupageMemPath(def, cfg, pagesize, &memPath) < 0)
|
||||
goto cleanup;
|
||||
prealloc = true;
|
||||
} else if (mem->nvdimmPath) {
|
||||
if (VIR_STRDUP(memPath, mem->nvdimmPath) < 0)
|
||||
goto cleanup;
|
||||
prealloc = true;
|
||||
} else if (!pagesize && def->mem.source == VIR_DOMAIN_MEMORY_SOURCE_FILE) {
|
||||
} else {
|
||||
/* We can have both pagesize and mem source. If that's the case,
|
||||
* prefer hugepages as those are more specific. */
|
||||
if (VIR_STRDUP(memPath, cfg->memoryBackingDir) < 0)
|
||||
goto cleanup;
|
||||
} else {
|
||||
if (qemuGetDomainHupageMemPath(def, cfg, pagesize, &memPath) < 0)
|
||||
goto cleanup;
|
||||
prealloc = true;
|
||||
}
|
||||
|
||||
if (virJSONValueObjectAdd(props,
|
||||
|
26
tests/qemuxml2argvdata/qemuxml2argv-cpu-numa-memshared.args
Normal file
26
tests/qemuxml2argvdata/qemuxml2argv-cpu-numa-memshared.args
Normal file
@ -0,0 +1,26 @@
|
||||
LC_ALL=C \
|
||||
PATH=/bin \
|
||||
HOME=/home/test \
|
||||
USER=test \
|
||||
LOGNAME=test \
|
||||
QEMU_AUDIO_DRV=none \
|
||||
/usr/bin/qemu-system-x86_64 \
|
||||
-name QEMUGuest1 \
|
||||
-S \
|
||||
-M pc \
|
||||
-m 214 \
|
||||
-smp 16,sockets=2,cores=4,threads=2 \
|
||||
-object memory-backend-file,id=ram-node0,mem-path=/var/lib/libvirt/qemu/ram,\
|
||||
share=yes,size=112197632 \
|
||||
-numa node,nodeid=0,cpus=0-7,memdev=ram-node0 \
|
||||
-object memory-backend-file,id=ram-node1,mem-path=/var/lib/libvirt/qemu/ram,\
|
||||
share=no,size=112197632 \
|
||||
-numa node,nodeid=1,cpus=8-15,memdev=ram-node1 \
|
||||
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
|
||||
-nographic \
|
||||
-nodefaults \
|
||||
-monitor unix:/tmp/lib/domain--1-QEMUGuest1/monitor.sock,server,nowait \
|
||||
-no-acpi \
|
||||
-boot n \
|
||||
-usb \
|
||||
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
|
@ -1541,6 +1541,7 @@ mymain(void)
|
||||
DO_TEST("cpu-numa-disjoint", QEMU_CAPS_NUMA);
|
||||
DO_TEST_FAILURE("cpu-numa-memshared", QEMU_CAPS_OBJECT_MEMORY_RAM);
|
||||
DO_TEST_FAILURE("cpu-numa-memshared", NONE);
|
||||
DO_TEST("cpu-numa-memshared", QEMU_CAPS_OBJECT_MEMORY_FILE);
|
||||
DO_TEST("cpu-host-model", NONE);
|
||||
DO_TEST("cpu-host-model-vendor", NONE);
|
||||
skipLegacyCPUs = true;
|
||||
|
Loading…
x
Reference in New Issue
Block a user