]> xenbits.xensource.com Git - people/liuw/libxenctrl-split/libvirt.git/commitdiff
conf: numa: Add accessor for the NUMA node cpu mask
authorPeter Krempa <pkrempa@redhat.com>
Mon, 16 Feb 2015 17:38:43 +0000 (18:38 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Fri, 20 Feb 2015 16:50:08 +0000 (17:50 +0100)
Add virDomainNumaGetNodeCpumask() and refactor a few places that would
get the cpu mask without the helper.

src/conf/numa_conf.c
src/conf/numa_conf.h
src/libvirt_private.syms
src/qemu/qemu_command.c

index 8000415b2ed24b958eaacb6e3012ebf3138d15e8..d13d293bce9f0e48775aa9226f5d1a100cb35b2e 100644 (file)
@@ -771,7 +771,7 @@ virDomainNumaDefCPUFormat(virBufferPtr buf,
     for (i = 0; i < ncells; i++) {
         memAccess = def->cells[i].memAccess;
 
-        if (!(cpustr = virBitmapFormat(def->cells[i].cpumask)))
+        if (!(cpustr = virBitmapFormat(virDomainNumaGetNodeCpumask(def, i))))
             return -1;
 
         virBufferAddLit(buf, "<cell");
@@ -799,7 +799,7 @@ virDomainNumaGetCPUCountTotal(virCPUDefPtr numa)
     unsigned int ret = 0;
 
     for (i = 0; i < numa->ncells; i++)
-        ret += virBitmapCountBits(numa->cells[i].cpumask);
+        ret += virBitmapCountBits(virDomainNumaGetNodeCpumask(numa, i));
 
     return ret;
 }
@@ -824,3 +824,11 @@ virDomainNumaGetNodeCount(virCPUDefPtr numa)
 
     return numa->ncells;
 }
+
+
+virBitmapPtr
+virDomainNumaGetNodeCpumask(virCPUDefPtr numa,
+                            size_t node)
+{
+    return numa->cells[node].cpumask;
+}
index 07759ed813543e0b7d21132bd1b9ce5e0a2b3e8e..ad12c724574559c263556fb53fa1b3bca94446a6 100644 (file)
@@ -88,6 +88,9 @@ int virDomainNumatuneMaybeGetNodeset(virDomainNumaPtr numatune,
 
 size_t virDomainNumaGetNodeCount(virCPUDefPtr numa)
     ATTRIBUTE_NONNULL(1);
+virBitmapPtr virDomainNumaGetNodeCpumask(virCPUDefPtr numa,
+                                         size_t node)
+    ATTRIBUTE_NONNULL(1);
 
 /*
  * Formatters
index 924ad37f6fa075ef26b090d0986fd3c29b56dd34..d9b0e05e8af2d3eaa2fd95bd40938882b7b5dcb6 100644 (file)
@@ -630,6 +630,7 @@ virNodeDeviceObjUnlock;
 virDomainNumaEquals;
 virDomainNumaFree;
 virDomainNumaGetNodeCount;
+virDomainNumaGetNodeCpumask;
 virDomainNumaNew;
 virDomainNumatuneFormatNodeset;
 virDomainNumatuneFormatXML;
index befb98279f5a097c1f181c8e80828e613cdc872b..8daa2999c2dd1d842170604b5d1416bf22d5c3aa 100644 (file)
@@ -7199,7 +7199,7 @@ qemuBuildNumaArgStr(virQEMUDriverConfigPtr cfg,
 
     for (i = 0; i < ncells; i++) {
         VIR_FREE(cpumask);
-        if (!(cpumask = virBitmapFormat(def->cpu->cells[i].cpumask)))
+        if (!(cpumask = virBitmapFormat(virDomainNumaGetNodeCpumask(def->cpu, i))))
             goto cleanup;
 
         if (strchr(cpumask, ',') &&