mm/memory_hotplug: Add hot-added memory blocks to ZONE_MOVABLE type

When onlining memory blocks, this option helps to add the target
memory block to ZONE_MOVABLE zone type. For successful offlining,
these memory blocks should belong to 'ZONE_MOVABLE' since it carries
only movable pages. When this option is not set, the default zone
policy is to add the blocks to 'ZONE_NORMAL' which may pin pages.

Change-Id: I7f38a07d3c6817141ec8cce3a910fa7d7d91712d
Signed-off-by: Sudarshan Rajagopalan <sudaraja@codeaurora.org>
[isaacm@codeaurora.org: Use IS_ENABLED() for checking configs]
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
This commit is contained in:
Sudarshan Rajagopalan 2018-05-15 19:52:51 -07:00 • committed by Isaac J. Manjarres
commit ae998ece62
2 changed files with 20 additions and 1 deletions

View file

@ -175,6 +175,25 @@ config MEMORY_HOTPLUG_DEFAULT_ONLINE
Say N here if you want the default policy to keep all hot-plugged
memory blocks in 'offline' state.
config MEMORY_HOTPLUG_MOVABLE_NODE
bool "Add hot-added memory blocks to ZONE_MOVABLE type"
default n
depends on MEMORY_HOTPLUG
depends on QCOM_MEM_OFFLINE
help
When onlining memory blocks, this option helps to add the target
memory block to ZONE_MOVABLE zone type. For successful offlining,
these memory blocks should belong to 'ZONE_MOVABLE' since it carries
only movable pages. When this option is not set, the default zone
policy is to add the blocks to 'ZONE_NORMAL' which may pin pages.
See Documentation/memory-hotplug.txt for more information.
Say Y here if you want all hot-added memory blocks to be added to
'ZONE_MOVABLE' type.state by default.
Say N here if you want the default policy to add all hot-added
memory blocks in 'ZONE_NORMAL' type.
config MEMORY_HOTREMOVE
bool "Allow for memory hot remove"
select MEMORY_ISOLATION

View file

@ -66,7 +66,7 @@ void put_online_mems(void)
percpu_up_read(&mem_hotplug_lock);
}
bool movable_node_enabled = false;
bool movable_node_enabled = IS_ENABLED(CONFIG_MEMORY_HOTPLUG_MOVABLE_NODE);
#ifndef CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE
bool memhp_auto_online;