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/

Reply via email to