Use the NUMA total instead of the configured size both in XML and for
uses in the code once NUMA is enabled for a domain.
One test case change is necessary as the rounding of the individual cell
sizes was not matching the rounding of the total size.
---
src/conf/domain_conf.c | 6 ++++++
tests/qemuxml2argvdata/qemuxml2argv-numatune-memnode.args | 2 +-
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 5d3ad46..f4a9a7f 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -6897,6 +6897,12 @@ virDomainParseMemory(const char *xpath,
unsigned long long
virDomainDefGetMemoryInitial(virDomainDefPtr def)
{
+ unsigned long long ret;
+
+ /* return NUMA memory size total in case numa is enabled */
+ if ((ret = virDomainNumaGetMemorySize(def->numa)) > 0)
+ return ret;
+
return def->mem.max_balloon;
}
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-numatune-memnode.args
b/tests/qemuxml2argvdata/qemuxml2argv-numatune-memnode.args
index 513d657..5dd7fcd 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-numatune-memnode.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-numatune-memnode.args
@@ -1,5 +1,5 @@
LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none \
-/usr/bin/kvm -S -M pc -m 24104 -smp 32 \
+/usr/bin/kvm -S -M pc -m 24105 -smp 32 \
-object memory-backend-ram,id=ram-node0,size=20971520,host-nodes=3,\
policy=preferred \
-numa node,nodeid=0,cpus=0,memdev=ram-node0 \
--
2.2.2