lkml.org 
[lkml]   [2013]   [Sep]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[PATCH -mm] mm, memory-hotpulg: Rename movablenode boot option to movable_node
From: Zhang Yanfei <zhangyanfei@cn.fujitsu.com>

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.

Suggested-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Zhang Yanfei <zhangyanfei@cn.fujitsu.com>
---
Documentation/kernel-parameters.txt | 16 ++--------------
mm/Kconfig | 17 ++++++++++++-----
mm/memory_hotplug.c | 6 +++---
3 files changed, 17 insertions(+), 22 deletions(-)

diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index a87e17e..953a533 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -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>
diff --git a/mm/Kconfig b/mm/Kconfig
index ff6e820..8d4ebb0 100644
--- a/mm/Kconfig
+++ b/mm/Kconfig
@@ -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.
diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c
index b468f77..5e2aed9 100644
--- a/mm/memory_hotplug.c
+++ b/mm/memory_hotplug.c
@@ -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,
--
1.7.1

\
 
 \ /
  Last update: 2013-09-30 20:01    [W:0.694 / U:0.024 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site