[PATCH 0/2] remove CONFIG_MOVABLE_NODE

From: Michal Hocko
Date: Mon May 29 2017 - 07:41:54 EST


Hi,
this has been previously posted as an RFC [1]. As it hasn't met any
disagreement, I have integrated the feedback and resending it without
RFC and hope for a soon merging (ideally along with other memory hotplug
pile).

I am continuing to cleanup the memory hotplug code and
CONFIG_MOVABLE_NODE seems dubious at best. The following two patches
simply removes the flag and make it de-facto always enabled.

The current semantic of the config option is twofold 1) it automatically
binds hotplugable nodes to have memory in zone_movable by default when
movable_node is enabled 2) forbids memory hotplug to online all the memory
as movable when !CONFIG_MOVABLE_NODE.

The later restriction is quite dubious because there is no clear cut of
how much normal memory do we need for a reasonable system operation. A
single memory block which is sufficient to allow further movable
onlines is far from sufficient (e.g a node with >2GB and memblocks
128MB will fill up this zone with struct pages leaving nothing for
other allocations). Removing the config option will not only reduce the
configuration space it also removes quite some code.

The semantic of the movable_node command line parameter is preserved.

The first patch removes the restriction mentioned above and the second
one simply removes all the CONFIG_MOVABLE_NODE related stuff. The last
patch moves movable_node flag handling to memory_hotplug proper where
it belongs.

[1] http://lkml.kernel.org/r/20170524122411.25212-1-mhocko@xxxxxxxxxx

Shortlog
Michal Hocko (3):
mm, memory_hotplug: drop artificial restriction on online/offline
mm, memory_hotplug: drop CONFIG_MOVABLE_NODE
mm, memory_hotplug: move movable_node to the hotplug proper

Diffstat:
Documentation/admin-guide/kernel-parameters.txt | 7 ++-
drivers/base/node.c | 4 --
include/linux/memblock.h | 25 ----------
include/linux/memory_hotplug.h | 10 ++++
include/linux/nodemask.h | 4 --
mm/Kconfig | 26 ----------
mm/memblock.c | 3 --
mm/memory_hotplug.c | 64 ++-----------------------
mm/page_alloc.c | 2 -
9 files changed, 19 insertions(+), 126 deletions(-)