mm, memory-hotpulg: Rename movablenode boot option to movable_node
Subsystems (4)
PATCH 1/1 mm, memory-hotpulg: Rename movablenode boot option to movable_node
From: Zhang Yanfei <[email protected]>
Since we already has config MOVABLE_NODE, and the boot option movablenode is introduced as the boot-time switch to disable the effects of CONFIG_MOVABLE_NODE=y when the system is booting.
So rename boot option movablenode to movable_node to match the config MOVABLE_NODE. And also updates the description of MOVABLE_NODE in mm/Kconfig and the description of movable_node in kernel doc.
--- Documentation/kernel-parameters.txt | 16 ++-------------- mm/Kconfig | 17 ++++++++++++----- mm/memory_hotplug.c | 6 +++--- 3 files changed, 17 insertions(+), 22 deletions(-)
Documentation/kernel-parameters.txt +2 -14
@@ -1773,20 +1773,8 @@ bytes respectively. Such letter suffixes can also be entirely omitted. that the amount of memory usable for all allocations is not too small. - movablenode [KNL,X86] This parameter enables/disables the - kernel to arrange hotpluggable memory ranges recorded - in ACPI SRAT(System Resource Affinity Table) as - ZONE_MOVABLE. And these memory can be hot-removed when - the system is up. - By specifying this option, all the hotpluggable memory - will be in ZONE_MOVABLE, which the kernel cannot use. - This will cause NUMA performance down. For users who - care about NUMA performance, just don't use it. - If all the memory ranges in the system are hotpluggable, - then the ones used by the kernel at early time, such as - kernel code and data segments, initrd file and so on, - won't be set as ZONE_MOVABLE, and won't be hotpluggable. - Otherwise the kernel won't have enough memory to boot. + movable_node [KNL,X86] Boot-time switch to disable the effects + of CONFIG_MOVABLE_NODE=y. See mm/Kconfig for details. MTD_Partition= [MTD] Format: <name>,<region-number>,<size>,<offset>
mm/Kconfig +12 -5
@@ -153,11 +153,18 @@ config MOVABLE_NODE help Allow a node to have only movable memory. Pages used by the kernel, such as direct mapping pages cannot be migrated. So the corresponding - memory device cannot be hotplugged. This option allows users to - online all the memory of a node as movable memory so that the whole - node can be hotplugged. Users who don't use the memory hotplug - feature are fine with this option on since they don't online memory - as movable. + memory device cannot be hotplugged. This option allows the following + two things: + - When the system is booting, node full of hotpluggable memory can + be arranged to have only movable memory so that the whole node can + be hotplugged. (need movable_node boot option specified). + - After the system is up, the option allows users to online all the + memory of a node as movable memory so that the whole node can be + hotplugged. + + Users who don't use the memory hotplug feature are fine with this + option on since they don't specify movable_node boot option or they + don't online memory as movable. Say Y here if you want to hotplug a whole node. Say N here if you want kernel to use memory on all nodes evenly.
mm/memory_hotplug.c +3 -3
@@ -1424,7 +1424,7 @@ static bool can_offline_normal(struct zone *zone, unsigned long nr_pages) }#endif /* CONFIG_MOVABLE_NODE */ -static int __init cmdline_parse_movablenode (char *p) +static int __init cmdline_parse_movable_node (char *p) {#ifdef CONFIG_MOVABLE_NODE /*
@@ -1448,11 +1448,11 @@ static int __init cmdline_parse_movablenode(char *p)*/ memblock_set_bottom_up (true);#else -pr_warn ("movablenode option not supported" ); +pr_warn ("movable_node option not supported" );#endif return 0 ; } -early_param ("movablenode" , cmdline_parse_movablenode); +early_param ("movable_node" , cmdline_parse_movable_node);/* check which state of node_states will be changed when offline memory */ static void node_states_check_changes_offline(unsigned long nr_pages,
Signature · 7 lines
1.7.1 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to [email protected]. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"[email protected]"> [email protected] </a>
mm/Kconfig config MOVABLE_NODE · line 160
Quoted 9 lines · Zhang Yanfei
mm/Kconfig +5
-0@@ -153,11 +153,18 @@ config MOVABLE_NODE help Allow a node to have only movable memory. Pages used by the kernel, such as direct mapping pages cannot be migrated. So the corresponding + memory device cannot be hotplugged. This option allows the following + two things: + - When the system is booting, node full of hotpluggable memory can + be arranged to have only movable memory so that the whole node can + be hotplugged. (need movable_node boot option specified).
So this is _exactly_ what I complained about earlier: why is the movable_node boot option needed to get that extra functionality? It's clearly not just a drop-in substitute to CONFIG_MOVABLE_NODE but extends its functionality, right?
Boot options are _very_ poor user interface. If you don't want to enable it by default then turn this sub-functionality into CONFIG_MOVABLE_NODE_AUTO and keep it default-off - but don't pretend that this is only about CONFIG_MOVABLE_NODE alone - it isnt: as described above the 'movable_node' is needed for the full functionality to be available!
Thanks,
Ingo
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to [email protected]. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"[email protected]"> [email protected] </a>
Hello Ingo,
Quoted 17 lines · Ingo Molnar
mm/Kconfig config MOVABLE_NODE · line 160
Quoted 9 lines · Zhang Yanfei
mm/Kconfig +5
-0@@ -153,11 +153,18 @@ config MOVABLE_NODE help Allow a node to have only movable memory. Pages used by the kernel, such as direct mapping pages cannot be migrated. So the corresponding + memory device cannot be hotplugged. This option allows the following + two things: + - When the system is booting, node full of hotpluggable memory can + be arranged to have only movable memory so that the whole node can + be hotplugged. (need movable_node boot option specified).So this is _exactly_ what I complained about earlier: why is the
movable_nodeboot option needed to get that extra functionality? It's clearly not just a drop-in substitute toCONFIG_MOVABLE_NODEbut extends its functionality, right?
Generally speaking, CONFIG_MOVABLE_NODE is used to allow a node to have only movable memory. Firstly, we didn't support the functionality to support boot-time configuration. That said, before this patchset, we only support later hot-add node to have only movable memory but any node that is dectected at boot-time cannot. So here is movable_node option, to protect the kernel from using hotpluggable memory at boot-time and if a node is full of hotpluggable memory, this node is arranged to have only movable memory and can be hot-removed after the system is up.
Quoted 6 lines
Boot options are _very_ poor user interface. If you don't want to enable it by default then turn this sub-functionality into
CONFIG_MOVABLE_NODE_AUTOand keep it default-off - but don't pretend that this is only aboutCONFIG_MOVABLE_NODEalone - it isnt: as described above the 'movable_node' is needed for the full functionality to be available!
As explained above, we need the boot option to only disable boot-time memory-hotplug configuration not the whole MOVABLE_NODE functionality.
Thanks
Signature · 2 lines
Thanks. Zhang Yanfei