From d9a779a36efe7754b65e0f271cb3f388ed5b7d53 Mon Sep 17 00:00:00 2001 From: Peter Krempa Date: Mon, 16 Feb 2015 18:38:43 +0100 Subject: [PATCH] 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. --- src/conf/numa_conf.c | 12 ++++++++++-- src/conf/numa_conf.h | 3 +++ src/libvirt_private.syms | 1 + 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, "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, ',') && -- GitLab