From 8968c4946caad65c112fe5ce33a4c97fb9421ad8 Mon Sep 17 00:00:00 2001 From: Peter Krempa Date: Mon, 16 Feb 2015 20:15:04 +0100 Subject: [PATCH] conf: numa: Add helper to count total memory size configured in NUMA The total NUMA memory consists of the sum of individual NUMA node memory amounts. --- src/conf/numa_conf.c | 13 +++++++++++++ src/conf/numa_conf.h | 2 ++ src/libvirt_private.syms | 1 + 3 files changed, 16 insertions(+) diff --git a/src/conf/numa_conf.c b/src/conf/numa_conf.c index 9caa655aca..517eaa1439 100644 --- a/src/conf/numa_conf.c +++ b/src/conf/numa_conf.c @@ -894,3 +894,16 @@ virDomainNumaSetNodeMemorySize(virDomainNumaPtr numa, { numa->mem_nodes[node].mem = size; } + + +unsigned long long +virDomainNumaGetMemorySize(virDomainNumaPtr numa) +{ + size_t i; + unsigned long long ret = 0; + + for (i = 0; i < numa->nmem_nodes; i++) + ret += numa->mem_nodes[i].mem; + + return ret; +} diff --git a/src/conf/numa_conf.h b/src/conf/numa_conf.h index dc2ce58212..ded6e019ec 100644 --- a/src/conf/numa_conf.h +++ b/src/conf/numa_conf.h @@ -95,6 +95,8 @@ virNumaMemAccess virDomainNumaGetNodeMemoryAccessMode(virDomainNumaPtr numa, unsigned long long virDomainNumaGetNodeMemorySize(virDomainNumaPtr numa, size_t node) ATTRIBUTE_NONNULL(1); +unsigned long long virDomainNumaGetMemorySize(virDomainNumaPtr numa) + ATTRIBUTE_NONNULL(1); /* * Formatters diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index ba05cc6882..496b0522bb 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -630,6 +630,7 @@ virNodeDeviceObjUnlock; virDomainNumaCheckABIStability; virDomainNumaEquals; virDomainNumaFree; +virDomainNumaGetMemorySize; virDomainNumaGetNodeCount; virDomainNumaGetNodeCpumask; virDomainNumaGetNodeMemoryAccessMode;