On 8/17/2018 10:50 PM, Catalin Marinas Wrote: > On Fri, Jul 06, 2018 at 05:01:10PM +0800, Jia He wrote: >> diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig >> index 42c090c..26d75f4 100644 >> --- a/arch/arm64/Kconfig >> +++ b/arch/arm64/Kconfig >> @@ -778,6 +778,10 @@ config ARCH_SELECT_MEMORY_MODEL >> config HAVE_ARCH_PFN_VALID >> def_bool ARCH_HAS_HOLES_MEMORYMODEL || !SPARSEMEM >> >> +config HAVE_MEMBLOCK_PFN_VALID >> + def_bool y >> + depends on HAVE_ARCH_PFN_VALID >> + >> config HW_PERF_EVENTS >> def_bool y >> depends on ARM_PMU >> diff --git a/mm/Kconfig b/mm/Kconfig >> index 94af022..28fcf54 100644 >> --- a/mm/Kconfig >> +++ b/mm/Kconfig >> @@ -137,6 +137,9 @@ config HAVE_MEMBLOCK_NODE_MAP >> config HAVE_MEMBLOCK_PHYS_MAP >> bool >> >> +config HAVE_MEMBLOCK_PFN_VALID >> + bool > > Since you defined HAVE_MEMBLOCK_PFN_VALID here, do we need to define it > in the arch code as well? If kept it in the mm/Kconfig only, you could > just select it in the arch HAVE_ARCH_PFN_VALID entry: > Ok, thanks for the comments It makes it more clean. -- Cheers, Jia > diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig > index d0a53cc6293a..cd230c77e122 100644 > --- a/arch/arm64/Kconfig > +++ b/arch/arm64/Kconfig > @@ -787,6 +787,7 @@ config ARCH_FLATMEM_ENABLE > > config HAVE_ARCH_PFN_VALID > def_bool ARCH_HAS_HOLES_MEMORYMODEL || !SPARSEMEM > + select HAVE_MEMBLOCK_PFN_VALID > > config HW_PERF_EVENTS > def_bool y > > (similarly for arch/arm) >