Re: [2/8,v3] NUMA Hotplug Emulator: infrastructure of NUMA hotplug emulation

David Rientjes
2010-11-17T08:16:54Z

On Wed, 17 Nov 2010, shaohui.zheng@intel.com wrote:

> From: Haicheng Li <haicheng.li@intel.com>
>
> NUMA hotplug emulator introduces a new node state N_HIDDEN to
> identify the fake offlined node. It firstly hides RAM via E820
> table and then emulates fake offlined nodes with the hidden RAM.
>

Hmm, why can't you use numa=hide to hide a specified quantity of memory
from the kernel and then use the add_memory() interface to hot-add the
offlined memory in the desired quantity? In other words, why do you need
to track the offlined nodes with a state?

The userspace interface would take a desired size of hidden memory to
hot-add and the node id would be the first_unset_node(node_online_map).

> After system bootup, user is able to hotplug-add these offlined
> nodes, which is just similar to a real hardware hotplug behavior.
>
> Using boot option "numa=hide=N*size" to fake offlined nodes:
> - N is the number of hidden nodes
> - size is the memory size (in MB) per hidden node.
>

size should be parsed with memparse() so users can specify 'M' or 'G', it
would even make your parsing code simpler.