numa: report all DIMM/NVDIMMs as plugged in "info numa"
PATCH v2 1/1 numa: report all DIMM/NVDIMMs as plugged in "info numa"
Right now, there is some inconsistency between hotplugged and coldplugged memory. DIMMs added via "-device" result in different stats than DIMMs added using "device_add".
E.g. with the following QEMU cmdline:
[...]
-numa node,nodeid=0,cpus=0-1 -numa node,nodeid=1,cpus=2-3 \
-m 4G,maxmem=20G,slots=2 \
-object memory-backend-ram,id=mem0,size=8G \
-device pc-dimm,id=dimm0,memdev=mem0 \
-object memory-backend-ram,id=mem1,size=8G \
-device nvdimm,id=dimm1,memdev=mem1,node=1"info memory_size_summary" will correctly report:
(qemu) info memory_size_summary
info memory_size_summary
base memory: 4294967296
plugged memory: 17179869184While "info numa" will not report DIMM/NVDIMMs as (cold)plugged memory.
(qemu) info numa
info numa
2 nodes
node 0 cpus: 0 1
node 0 size: 10240 MB
node 0 plugged: 0 MB
node 1 cpus: 2 3
node 1 size: 10240 MB
node 1 plugged: 0 MB
Make this consistent by reporting all hot and coldplugged memory a.k.a. DIMM and NVDIMM as "plugged".
With this change, the output of "info numa" is now:
(qemu) info numa
info numa
2 nodes
node 0 cpus: 0 1
node 0 size: 10240 MB
node 0 plugged: 8192 MB
node 1 cpus: 2 3
node 1 size: 10240 MB
node 1 plugged: 8192 MB---
v1 -> v2:
- Tweaked patch description/sibject as requested by Igor.
numa.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)
numa.c +2 -4
@@ -566,10 +566,8 @@ static void numa_stat_memory_devices(NumaNodeMem node_mem[])if (pcdimm_info) { node_mem[pcdimm_info->node].node_mem += pcdimm_info->size; -if (pcdimm_info->hotpluggable && pcdimm_info->hotplugged) { - node_mem[pcdimm_info->node].node_plugged_mem += - pcdimm_info->size; - } + node_mem[pcdimm_info->node].node_plugged_mem += + pcdimm_info->size; } } }
Signature · 1 line
2.17.1
Quoted 44 lines · On Thu, 28 Jun 2018 11:00:11 +0200 David Hildenbrand <[email protected]> wrote:
Right now, there is some inconsistency between hotplugged and coldplugged memory. DIMMs added via "-device" result in different stats than DIMMs added using "
device_add".E.g. with the following QEMU cmdline:
[...] -numa node,nodeid=0,cpus=0-1 -numa node,nodeid=1,cpus=2-3 \ -m 4G,maxmem=20G,slots=2 \ -object memory-backend-ram,id=mem0,size=8G \ -device pc-dimm,id=dimm0,memdev=mem0 \ -object memory-backend-ram,id=mem1,size=8G \ -device nvdimm,id=dimm1,memdev=mem1,node=1"info
memory_size_summary" will correctly report:(qemu) info memory_size_summary info memory_size_summary base memory: 4294967296 plugged memory: 17179869184While "info numa" will not report DIMM/NVDIMMs as (cold)plugged memory.
(qemu) info numa
info numa
2 nodes
node 0 cpus: 0 1
node 0 size: 10240 MB
node 0 plugged: 0 MB
node 1 cpus: 2 3
node 1 size: 10240 MB
node 1 plugged: 0 MBMake this consistent by reporting all hot and coldplugged memory a.k.a. DIMM and NVDIMM as "plugged".
With this change, the output of "info numa" is now:
(qemu) info numa info numa 2 nodes node 0 cpus: 0 1 node 0 size: 10240 MB node 0 plugged: 8192 MB node 1 cpus: 2 3 node 1 size: 10240 MB node 1 plugged: 8192 MB
Quoted 2 lines
Fixes 31959e82fb0 ("hmp: extend "info numa" with hotplugged memory information")Signed-off-by David Hildenbrand <[email protected]>
Quoted 25 lines
---
v1 -> v2:
- Tweaked patch description/sibject as requested by Igor.numa.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)numa.c +2
-4@@ -566,10 +566,8 @@ static void numa_stat_memory_devices(NumaNodeMem node_mem[])if (pcdimm_info) { node_mem[pcdimm_info->node].node_mem += pcdimm_info->size; -if (pcdimm_info->hotpluggable && pcdimm_info->hotplugged) { - node_mem[pcdimm_info->node].node_plugged_mem += - pcdimm_info->size; - } + node_mem[pcdimm_info->node].node_plugged_mem += + pcdimm_info->size; } } }