memory-hotplug: ppc: suitable memory should go to ZONE_MOVABLE
authorWang Nan <wangnan0@huawei.com>
Wed, 6 Aug 2014 23:07:45 +0000 (16:07 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 7 Aug 2014 01:01:21 +0000 (18:01 -0700)
This patch introduces zone_for_memory() to arch_add_memory() on powerpc
to ensure new, higher memory added into ZONE_MOVABLE if movable zone has
already setup.

Signed-off-by: Wang Nan <wangnan0@huawei.com>
Cc: Zhang Yanfei <zhangyanfei@cn.fujitsu.com>
Cc: Dave Hansen <dave.hansen@intel.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Yinghai Lu <yinghai@kernel.org>
Cc: "Mel Gorman" <mgorman@suse.de>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: "Luck, Tony" <tony.luck@intel.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Chris Metcalf <cmetcalf@tilera.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
arch/powerpc/mm/mem.c

index 2c8e90f5789e4a72feb2e5a019a63a9e1dded518..e0f7a189c48ea440dc2e05ac659eb46895490590 100644 (file)
@@ -128,7 +128,8 @@ int arch_add_memory(int nid, u64 start, u64 size)
                return -EINVAL;
 
        /* this should work for most non-highmem platforms */
-       zone = pgdata->node_zones;
+       zone = pgdata->node_zones +
+               zone_for_memory(nid, start, size, 0);
 
        return __add_pages(nid, zone, start_pfn, nr_pages);
 }