]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: Fix system pages handling in <memoryBacking/>
authorMichal Privoznik <mprivozn@redhat.com>
Wed, 7 Jan 2015 14:17:03 +0000 (15:17 +0100)
committerMichal Privoznik <mprivozn@redhat.com>
Wed, 7 Jan 2015 17:32:07 +0000 (18:32 +0100)
In one of my previous commits (311b4a67) I've tried to allow to
pass regular system pages to <hugepages>. However, there was a
little bug that wasn't caught. If domain has guest NUMA topology
defined, qemuBuildNumaArgStr() function takes care of generating
corresponding command line. The hugepages backing for guest NUMA
nodes is handled there too. And here comes the bug: the hugepages
setting from XML is stored in KiB internally, however, the system
pages size was queried and stored in Bytes. So the check whether
these two are equal was failing even if it shouldn't.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
src/qemu/qemu_command.c

index d5679de776d109016f302b8e8dac331697e2eb38..1930abd7971acfc8a3be4d173a8e1861a42ac74b 100644 (file)
@@ -6612,7 +6612,7 @@ qemuBuildNumaArgStr(virQEMUDriverConfigPtr cfg,
     char *nodemask = NULL;
     char *mem_path = NULL;
     int ret = -1;
-    const long system_page_size = sysconf(_SC_PAGESIZE);
+    const long system_page_size = sysconf(_SC_PAGESIZE) / 1024;
 
     if (virDomainNumatuneHasPerNodeBinding(def->numatune) &&
         !(virQEMUCapsGet(qemuCaps, QEMU_CAPS_OBJECT_MEMORY_RAM) ||