[PATCH] Memory hot added,The memory can not been added to movable zone

From: Changsheng Liu
Date: Wed Aug 19 2015 - 04:19:04 EST


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