On 06.01.21 07:11, Anshuman Khandual wrote: > Hi Sudershan, > > This patch (and the cover letter) does not copy LAKML even though the > entire change here is arm64 specific. Please do copy all applicable > mailing lists for a given patch. > > On 1/6/21 6:58 AM, Sudarshan Rajagopalan wrote: >> Currently on arm64, memory section size is hard-coded to 1GB. >> Make this configurable if memory-hotplug is enabled, to support >> more finer granularity for hotplug-able memory. > > Section size has always been decided by the platform. It cannot be a > configurable option because the user would not know the constraints > for memory representation on the platform and besides it also cannot > be trusted. > >> >> Signed-off-by: Sudarshan Rajagopalan <sudaraja@xxxxxxxxxxxxxx> >> --- >> arch/arm64/Kconfig | 11 +++++++++++ >> arch/arm64/include/asm/sparsemem.h | 4 ++++ >> 2 files changed, 15 insertions(+) >> >> diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig >> index 6d232837cbee..34124eee65da 100644 >> --- a/arch/arm64/Kconfig >> +++ b/arch/arm64/Kconfig >> @@ -294,6 +294,17 @@ config ARCH_ENABLE_MEMORY_HOTREMOVE >> config SMP >> def_bool y >> >> +config HOTPLUG_SIZE_BITS >> + int "Memory hotplug block size(29 => 512MB 30 => 1GB)" "Memory hotplug block size" and "HOTPLUG_SIZE_BITS" is confusing. It's the section size. Please use that terminology. (if at all, it would have to be "minimum memory hot(un)plug granularity", but even that is somewhat misleading) "SECTION_SIZE_BITS" But I agree that letting the user configure it is sub-optimal. >> + depends on SPARSEMEM >> + depends on MEMORY_HOTPLUG >> + range 28 30 > > 28 would not work for 64K pages. @Anshuman, what's your feeling about changing this to 128 MB for 4k/16k base pages (as we have on x86-64 right now) and 512 MB for 64k as default for now? (If we worry about the number of section bits in page->flags, we could glue it to vmemmap support where that does not matter) -- Thanks, David / dhildenb