The total NUMA memory consists of the sum of individual NUMA node memory
amounts.
---
Notes:
Version 2:
- Already ACKed but didn't make sense to push.
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 9caa655..517eaa1 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 dc2ce58..ded6e01 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 d4d0faf..9a32758 100644
--- a/src/libvirt_private.syms
+++ b/src/libvirt_private.syms
@@ -633,6 +633,7 @@ virNodeDeviceObjUnlock;
virDomainNumaCheckABIStability;
virDomainNumaEquals;
virDomainNumaFree;
+virDomainNumaGetMemorySize;
virDomainNumaGetNodeCount;
virDomainNumaGetNodeCpumask;
virDomainNumaGetNodeMemoryAccessMode;
--
2.2.2