This patch introduces zone_for_memory() to arch_add_memory() on tile to ensure new, higher memory added into ZONE_MOVABLE if movable zone has already setup. This patch also fix a problem: on tile, new memory should be added into ZONE_HIGHMEM by default, not MAX_NR_ZONES-1, which is ZONE_MOVABLE. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Cc: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> --- arch/tile/mm/init.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/tile/mm/init.c b/arch/tile/mm/init.c index bfb3127..22ac6c1 100644 --- a/arch/tile/mm/init.c +++ b/arch/tile/mm/init.c @@ -872,7 +872,8 @@ void __init mem_init(void) int arch_add_memory(u64 start, u64 size) { struct pglist_data *pgdata = &contig_page_data; - struct zone *zone = pgdata->node_zones + MAX_NR_ZONES-1; + struct zone *zone = pgdata->node_zones + + zone_for_memory(nid, start, size, ZONE_HIGHMEM); unsigned long start_pfn = start >> PAGE_SHIFT; unsigned long nr_pages = size >> PAGE_SHIFT; -- 1.8.4 -- 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>