From: Lee Schermerhorn Setting N_HIGH_MEMORY node state in free_area_init_nodes() works for memory present at boot time, but not for hot-added memory. Update the N_HIGH_MEMORY node state in online_pages(), if we've added pages to this node, before rebuilding zonelists. Signed-off-by: Lee Schermerhorn Cc: Kamezawa Hiroyuki Cc: Eric Whitney Cc: Christoph Lameter Signed-off-by: Andrew Morton --- mm/memory_hotplug.c | 2 ++ 1 files changed, 2 insertions(+) diff -puN mm/memory_hotplug.c~update-n_high_memory-node-state-for-memory-hotadd mm/memory_hotplug.c --- a/mm/memory_hotplug.c~update-n_high_memory-node-state-for-memory-hotadd +++ a/mm/memory_hotplug.c @@ -215,6 +215,8 @@ int online_pages(unsigned long pfn, unsi } zone->present_pages += onlined_pages; zone->zone_pgdat->node_present_pages += onlined_pages; + if (onlined_pages) + node_set_state(zone->node, N_HIGH_MEMORY); setup_per_zone_pages_min(); _