From: Changsheng Liu <liuchangch...@inspur.com> 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 <liuchangch...@inspur.com> --- 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 from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/