On Thu, 28 Jun 2018 11:00:11 +0200 David Hildenbrand <da...@redhat.com> 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: 17179869184 > > While "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 > > Fixes: 31959e82fb0 ("hmp: extend "info numa" with hotplugged memory > information") > Signed-off-by: David Hildenbrand <da...@redhat.com> Reviewed-by: Igor Mammedov <imamm...@redhat.com> > --- > > v1 -> v2: > - Tweaked patch description/sibject as requested by Igor. > > numa.c | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > > diff --git a/numa.c b/numa.c > index 94f758c757..5f6367b989 100644 > --- a/numa.c > +++ b/numa.c > @@ -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; > } > } > }