Subject: Re: powerpc,numa: Memory hotplug to memory-less nodes ?

From: Nishanth Aravamudan <[email-masked]>
Date: Thu, 25 Jun 2015 08:33:28 -0700

On 24.06.2015 [07:13:36 -0500], Nathan Fontenot wrote:
> On 06/23/2015 11:01 PM, Bharata B Rao wrote:
> > So will it be correct to say that memory hotplug to memory-less node
> > isn't supported by PowerPC kernel ? Should I enforce the same in QEMU
> > for PowerKVM ?
> >
> 
> I'm not sure if that is correct. It appears that we initialize all online
> nodes, even those without spanned_pages, at boot time. This occurs
> in setup_node_data() called from initmem_init().
> 
> Looking at this I would think that we could add memory to any online node
> even if it does not have any spanned_pages. I think an interesting test
> we be to check for the node being online instead of checking to see if
> it has any memory.

I see no *technical* reason we should't be able to hotplug to an
initially memoryless node. I'm not sure it happens in practice under
PowerVM (where we have far less control of the topology anyways). One
aspect of this that I have on my todo list is seeing what SLUB does when
a node goes from memoryless to populated -- as during boot memoryless
nodes get a 'useless' per node structure (early_kmem_cache_node_alloc).

I can look at this a bit under KVM maybe later this week myself to see
what happens in a guest.

-Nish