"mm: use early_pfn_to_nid in page_ext_init" broken on some configurations?

From: Michal Hocko
Date: Fri Jun 30 2017 - 10:19:07 EST


fe53ca54270a ("mm: use early_pfn_to_nid in page_ext_init") seem
to silently depend on CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID resp.
CONFIG_HAVE_MEMBLOCK_NODE_MAP. early_pfn_to_nid is returning zero with
!defined(CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID) && !defined(CONFIG_HAVE_MEMBLOCK_NODE_MAP)
I am not sure how widely is this used but such a code is tricky. I see
how catching early allocations during defered initialization might be
useful but a subtly broken code sounds like a problem to me. So is
fe53ca54270a worth this or we should revert it?
--
Michal Hocko
SUSE Labs