From: Oscar Salvador <osalvador@xxxxxxx> When free_area_init_node()->free_area_init_core() get called from memhotplug path, there are some things that we do need to run. This patchset __pretends__ to make more clear what things get executed when those two functions get called depending on the context (non-/memhotplug path). I tested it on x86_64 / powerpc and I did not see anything wrong there. But some feedback would be appreciated. We might come up with the conclusion that we can live with the code as it is now. Oscar Salvador (3): mm/page_alloc: Move ifdefery out of free_area_init_core mm/page_alloc: Refactor free_area_init_core mm/page_alloc: Split context in free_area_init_node mm/page_alloc.c | 181 +++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 114 insertions(+), 67 deletions(-) -- 2.13.6