From: Changsheng Liu <liuchangcheng@xxxxxxxxxx> When memory hot added, the function should_add_memory_movable always return 0,because the movable zone is empty, so the memory that hot added will add to normal zone even if we want to remove the memory. So we change the function should_add_memory_movable,if the user config CONFIG_MOVABLE_NODE it will return 1 when movable zone is empty Signed-off-by: Changsheng Liu <liuchangcheng@xxxxxxxxxx> --- mm/memory_hotplug.c | 8 ++++++-- 1 files changed, 6 insertions(+), 2 deletions(-) diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c index 26fbba7..2b0aec4 100644 --- a/mm/memory_hotplug.c +++ b/mm/memory_hotplug.c @@ -1198,9 +1198,13 @@ static int should_add_memory_movable(int nid, u64 start, u64 size) pg_data_t *pgdat = NODE_DATA(nid); struct zone *movable_zone = pgdat->node_zones + ZONE_MOVABLE; - if (zone_is_empty(movable_zone)) + if (zone_is_empty(movable_zone)) { + #ifdef CONFIG_MOVABLE_NODE + return 1; + #else return 0; - + #endif + } if (movable_zone->zone_start_pfn <= start_pfn) return 1; -- 1.7.1 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>