From: Yasunori Goto Fix kswapd doesn't run when memory is added on memory-less-node. Fix compile error of zone->node when CONFIG_NUMA is off. Signed-off-by: Yasunori Goto Signed-off-by: Paul Mundt Acked-by: Andy Whitcroft Signed-off-by: Andrew Morton --- mm/memory_hotplug.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff -puN mm/memory_hotplug.c~update-n_high_memory-node-state-for-memory-hotadd-fix mm/memory_hotplug.c --- a/mm/memory_hotplug.c~update-n_high_memory-node-state-for-memory-hotadd-fix +++ a/mm/memory_hotplug.c @@ -215,10 +215,12 @@ 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(); + if (onlined_pages) { + kswapd_run(zone_to_nid(zone)); + node_set_state(zone_to_nid(zone), N_HIGH_MEMORY); + } if (need_zonelists_rebuild) build_all_zonelists(); @@ -273,9 +275,6 @@ int add_memory(int nid, u64 start, u64 s if (!pgdat) return -ENOMEM; new_pgdat = 1; - ret = kswapd_run(nid); - if (ret) - goto error; } /* call arch's memory hotadd */ _