[PATCH] arm64: Make the ARCH_FORCE_MAX_ORDER config input prompt unconditional
Marc Zyngier
maz at kernel.org
Thu May 18 08:56:28 PDT 2023
On Wed, 03 May 2023 13:33:42 +0100,
Catalin Marinas <catalin.marinas at arm.com> wrote:
>
> Commit 34affcd7577a ("arm64: drop ranges in definition of
> ARCH_FORCE_MAX_ORDER") dropped the ranges from the config entry and
> introduced an EXPERT condition on the input prompt instead. This change
> may affect some distro kernels that change ARCH_FORCE_MAX_ORDER but do
> not want to enable EXPERT.
>
> Drop EXPERT from the input prompt together with the (ARM64_4K_PAGES ||
> ARM64_16K_PAGES) condition as the latter no longer makes sense after the
> ranges were removed. The latter makes all the page size configurations
> consistent w.r.t. ARCH_FORCE_MAX_ORDER.
>
> Fixes: 34affcd7577a ("arm64: drop ranges in definition of ARCH_FORCE_MAX_ORDER")
> Signed-off-by: Catalin Marinas <catalin.marinas at arm.com>
> Reported-by: Justin M. Forbes <jforbes at fedoraproject.org>
> Cc: Will Deacon <will at kernel.org>
> Cc: Mike Rapoport <rppt at kernel.org>
> Cc: Andrew Morton <akpm at linux-foundation.org>
> ---
> arch/arm64/Kconfig | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
> index b1201d25a8a4..1867aba83ba3 100644
> --- a/arch/arm64/Kconfig
> +++ b/arch/arm64/Kconfig
> @@ -1516,7 +1516,7 @@ config XEN
> # 16K | 27 | 14 | 13 | 11 |
> # 64K | 29 | 16 | 13 | 13 |
> config ARCH_FORCE_MAX_ORDER
> - int "Order of maximal physically contiguous allocations" if EXPERT && (ARM64_4K_PAGES || ARM64_16K_PAGES)
> + int "Order of maximal physically contiguous allocations"
> default "13" if ARM64_64K_PAGES
> default "11" if ARM64_16K_PAGES
> default "10"
>
This patch (and the previous one) has the unfortunate side effect of
completely breaking a change of page size (from 4k to 16k, for
example):
<quote>
maz at valley-girl:~/hot-poop/arm-platforms$ make defconfig
*** Default configuration is based on 'defconfig'
#
# configuration written to .config
#
maz at valley-girl:~/hot-poop/arm-platforms$ egrep 'PAGE_SHIFT|MAX_ORDER' .config
CONFIG_ARM64_PAGE_SHIFT=12
CONFIG_ARCH_FORCE_MAX_ORDER=10
maz at valley-girl:~/hot-poop/arm-platforms$ make menuconfig
configuration written to .config
*** End of the configuration.
*** Execute 'make' to start the build or try 'make help'.
maz at valley-girl:~/hot-poop/arm-platforms$ egrep 'PAGE_SHIFT|MAX_ORDER' .config
CONFIG_ARM64_PAGE_SHIFT=14
CONFIG_ARCH_FORCE_MAX_ORDER=10
</quote>
The build then fails in ways that aren't obvious (BUILD_BUG in the THP
code). It would much better if the result of the configuration tool
would produce something that can actually build.
Thanks,
M.
--
Without deviation from the norm, progress is not possible.
More information about the linux-arm-kernel
mailing list