qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v1] numa: report all DIMM/NVDIMMs as plugged memory
@ 2018-06-22 14:40 David Hildenbrand
  2018-06-27 11:21 ` Igor Mammedov
  0 siblings, 1 reply; 5+ messages in thread
From: David Hildenbrand @ 2018-06-22 14:40 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Vadim Galitsyn, Igor Mammedov,
	Dr . David Alan Gilbert, Eugene Crosser, Markus Armbruster,
	Eric Blake, David Hildenbrand

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.
    [...]
    -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

Results in NUMA info
    (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

But in memory size summary:
    (qemu) info memory_size_summary
    info memory_size_summary
    base memory: 4294967296
    plugged memory: 17179869184

Make this consistent by reporting all hot and coldplugged
memory a.k.a. DIMM and NVDIMM as "plugged".

Fixes: 31959e82fb0 ("hmp: extend "info numa" with hotplugged memory information")
Signed-off-by: David Hildenbrand <david@redhat.com>
---
 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;
             }
         }
     }
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [Qemu-devel] [PATCH v1] numa: report all DIMM/NVDIMMs as plugged memory
  2018-06-22 14:40 [Qemu-devel] [PATCH v1] numa: report all DIMM/NVDIMMs as plugged memory David Hildenbrand
@ 2018-06-27 11:21 ` Igor Mammedov
  2018-06-27 13:38   ` David Hildenbrand
  0 siblings, 1 reply; 5+ messages in thread
From: Igor Mammedov @ 2018-06-27 11:21 UTC (permalink / raw)
  To: David Hildenbrand
  Cc: qemu-devel, Eugene Crosser, Vadim Galitsyn, Markus Armbruster,
	Dr . David Alan Gilbert, Paolo Bonzini

On Fri, 22 Jun 2018 16:40:45 +0200
David Hildenbrand <david@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.
>     [...]
>     -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
> 
> Results in NUMA info
>     (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
... 
> But in memory size summary:
>     (qemu) info memory_size_summary
>     info memory_size_summary
>     base memory: 4294967296
>     plugged memory: 17179869184
this looks like right amount wrt used CLI,
is this supposed to be correct output or broken one?
('but' implies incorrect one)

> 
> Make this consistent by reporting all hot and coldplugged
> memory a.k.a. DIMM and NVDIMM as "plugged".
> 
> Fixes: 31959e82fb0 ("hmp: extend "info numa" with hotplugged memory information")
> Signed-off-by: David Hildenbrand <david@redhat.com>
> ---
>  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;
>              }
>          }
>      }

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Qemu-devel] [PATCH v1] numa: report all DIMM/NVDIMMs as plugged memory
  2018-06-27 11:21 ` Igor Mammedov
@ 2018-06-27 13:38   ` David Hildenbrand
  2018-06-27 13:54     ` Igor Mammedov
  0 siblings, 1 reply; 5+ messages in thread
From: David Hildenbrand @ 2018-06-27 13:38 UTC (permalink / raw)
  To: Igor Mammedov
  Cc: qemu-devel, Eugene Crosser, Vadim Galitsyn, Markus Armbruster,
	Dr . David Alan Gilbert, Paolo Bonzini

On 27.06.2018 13:21, Igor Mammedov wrote:
> On Fri, 22 Jun 2018 16:40:45 +0200
> David Hildenbrand <david@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.
>>     [...]
>>     -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
>>
>> Results in NUMA info
>>     (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
> ... 
>> But in memory size summary:
>>     (qemu) info memory_size_summary
>>     info memory_size_summary
>>     base memory: 4294967296
>>     plugged memory: 17179869184
> this looks like right amount wrt used CLI,
> is this supposed to be correct output or broken one?
> ('but' implies incorrect one)

'but' just highlights the inconsistency here. As explained above, all
dimms should be reported as plugged (hot and coldplugged).

So in my opinion "memory size summary" does the right thing right now.

> 
>>
>> Make this consistent by reporting all hot and coldplugged
>> memory a.k.a. DIMM and NVDIMM as "plugged".
>>
>> Fixes: 31959e82fb0 ("hmp: extend "info numa" with hotplugged memory information")
>> Signed-off-by: David Hildenbrand <david@redhat.com>
>> ---
>>  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;
>>              }
>>          }
>>      }
> 


-- 

Thanks,

David / dhildenb

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Qemu-devel] [PATCH v1] numa: report all DIMM/NVDIMMs as plugged memory
  2018-06-27 13:38   ` David Hildenbrand
@ 2018-06-27 13:54     ` Igor Mammedov
  2018-06-28  8:14       ` David Hildenbrand
  0 siblings, 1 reply; 5+ messages in thread
From: Igor Mammedov @ 2018-06-27 13:54 UTC (permalink / raw)
  To: David Hildenbrand
  Cc: qemu-devel, Eugene Crosser, Vadim Galitsyn, Markus Armbruster,
	Dr . David Alan Gilbert, Paolo Bonzini

On Wed, 27 Jun 2018 15:38:23 +0200
David Hildenbrand <david@redhat.com> wrote:

> On 27.06.2018 13:21, Igor Mammedov wrote:
> > On Fri, 22 Jun 2018 16:40:45 +0200
> > David Hildenbrand <david@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.
> >>     [...]
> >>     -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
> >>
> >> Results in NUMA info
> >>     (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  
> > ...   
> >> But in memory size summary:
> >>     (qemu) info memory_size_summary
> >>     info memory_size_summary
> >>     base memory: 4294967296
> >>     plugged memory: 17179869184  
> > this looks like right amount wrt used CLI,
> > is this supposed to be correct output or broken one?
> > ('but' implies incorrect one)  
> 
> 'but' just highlights the inconsistency here. As explained above, all
> dimms should be reported as plugged (hot and coldplugged).
> 
> So in my opinion "memory size summary" does the right thing right now.
maybe add to commit message that says what exactly is being fixed,
otherwise it's not clear what is expected/wrong beside of output being inconsistent.

> 
> >   
> >>
> >> Make this consistent by reporting all hot and coldplugged
> >> memory a.k.a. DIMM and NVDIMM as "plugged".
maybe mention 'info numa' and maybe QMP equivalent if it exists,
otherwise above text is a bit vague for bystander (could be /me|you in a day-month-year)

> >>
> >> Fixes: 31959e82fb0 ("hmp: extend "info numa" with hotplugged memory information")
> >> Signed-off-by: David Hildenbrand <david@redhat.com>
> >> ---
> >>  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;
> >>              }
> >>          }
> >>      }  
> >   
> 
> 

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Qemu-devel] [PATCH v1] numa: report all DIMM/NVDIMMs as plugged memory
  2018-06-27 13:54     ` Igor Mammedov
@ 2018-06-28  8:14       ` David Hildenbrand
  0 siblings, 0 replies; 5+ messages in thread
From: David Hildenbrand @ 2018-06-28  8:14 UTC (permalink / raw)
  To: Igor Mammedov
  Cc: qemu-devel, Eugene Crosser, Vadim Galitsyn, Markus Armbruster,
	Dr . David Alan Gilbert, Paolo Bonzini

On 27.06.2018 15:54, Igor Mammedov wrote:
> On Wed, 27 Jun 2018 15:38:23 +0200
> David Hildenbrand <david@redhat.com> wrote:
> 
>> On 27.06.2018 13:21, Igor Mammedov wrote:
>>> On Fri, 22 Jun 2018 16:40:45 +0200
>>> David Hildenbrand <david@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.
>>>>     [...]
>>>>     -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
>>>>
>>>> Results in NUMA info
>>>>     (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  
>>> ...   
>>>> But in memory size summary:
>>>>     (qemu) info memory_size_summary
>>>>     info memory_size_summary
>>>>     base memory: 4294967296
>>>>     plugged memory: 17179869184  
>>> this looks like right amount wrt used CLI,
>>> is this supposed to be correct output or broken one?
>>> ('but' implies incorrect one)  
>>
>> 'but' just highlights the inconsistency here. As explained above, all
>> dimms should be reported as plugged (hot and coldplugged).
>>
>> So in my opinion "memory size summary" does the right thing right now.
> maybe add to commit message that says what exactly is being fixed,
> otherwise it's not clear what is expected/wrong beside of output being inconsistent.

I will add some more details.

> 
>>
>>>   
>>>>
>>>> Make this consistent by reporting all hot and coldplugged
>>>> memory a.k.a. DIMM and NVDIMM as "plugged".
> maybe mention 'info numa' and maybe QMP equivalent if it exists,
> otherwise above text is a bit vague for bystander (could be /me|you in a day-month-year)

Yes, will do, thanks!

-- 

Thanks,

David / dhildenb

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2018-06-28  8:14 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-06-22 14:40 [Qemu-devel] [PATCH v1] numa: report all DIMM/NVDIMMs as plugged memory David Hildenbrand
2018-06-27 11:21 ` Igor Mammedov
2018-06-27 13:38   ` David Hildenbrand
2018-06-27 13:54     ` Igor Mammedov
2018-06-28  8:14       ` David Hildenbrand

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).