diff options
author | Peter Krempa <pkrempa@redhat.com> | 2015-02-16 18:38:43 +0100 |
---|---|---|
committer | Peter Krempa <pkrempa@redhat.com> | 2015-02-20 17:50:08 +0100 |
commit | d9a779a36efe7754b65e0f271cb3f388ed5b7d53 (patch) | |
tree | 04273143cec6bafd591c23101166205bf9f4fb45 | |
parent | be22d07315bf4ff9d5edc938479b6f344bffec48 (diff) | |
download | libvirt-d9a779a36efe7754b65e0f271cb3f388ed5b7d53.tar.gz |
conf: numa: Add accessor for the NUMA node cpu mask
Add virDomainNumaGetNodeCpumask() and refactor a few places that would
get the cpu mask without the helper.
-rw-r--r-- | src/conf/numa_conf.c | 12 | ||||
-rw-r--r-- | src/conf/numa_conf.h | 3 | ||||
-rw-r--r-- | src/libvirt_private.syms | 1 | ||||
-rw-r--r-- | src/qemu/qemu_command.c | 2 |
4 files changed, 15 insertions, 3 deletions
diff --git a/src/conf/numa_conf.c b/src/conf/numa_conf.c index 8000415b2e..d13d293bce 100644 --- a/src/conf/numa_conf.c +++ b/src/conf/numa_conf.c @@ -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; +} diff --git a/src/conf/numa_conf.h b/src/conf/numa_conf.h index 07759ed813..ad12c72457 100644 --- a/src/conf/numa_conf.h +++ b/src/conf/numa_conf.h @@ -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 diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 924ad37f6f..d9b0e05e8a 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -630,6 +630,7 @@ virNodeDeviceObjUnlock; virDomainNumaEquals; virDomainNumaFree; virDomainNumaGetNodeCount; +virDomainNumaGetNodeCpumask; virDomainNumaNew; virDomainNumatuneFormatNodeset; virDomainNumatuneFormatXML; diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index befb98279f..8daa2999c2 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -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, ',') && |