On Mon, Mar 01, 2021 at 04:55:14PM +0530, Anshuman Khandual wrote:
> diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
> index 9cd33c7be429..d4690326274a 100644
> --- a/arch/arm64/Kconfig
> +++ b/arch/arm64/Kconfig
> @@ -1156,8 +1156,8 @@ config XEN
>  
>  config FORCE_MAX_ZONEORDER
>       int
> -     default "14" if (ARM64_64K_PAGES && TRANSPARENT_HUGEPAGE)
> -     default "12" if (ARM64_16K_PAGES && TRANSPARENT_HUGEPAGE)
> +     default "14" if ARM64_64K_PAGES
> +     default "12" if ARM64_16K_PAGES
>       default "11"
>       help
>         The kernel memory allocator divides physically contiguous memory

I think this makes sense. The original "14" was added by Steve C in
commit d03bb1455f3a ("ARM64: mm: Raise MAX_ORDER for 64KB pages and
THP.") back in 3.11. It looks like hugetlbfs (and the HUGETLB_PAGE_ORDER
definition) was added in the same kernel but we somehow missed the
!TRANSPARENT_HUGEPAGE case and smaller page order. The warning in
__fragmentation_index() was added much later in 4.14.

Anyway, the patch looks fine to me, we could apply it to some past
stable kernels:

Acked-by: Catalin Marinas <catalin.mari...@arm.com>

An alternative would have be to add a dependency on both
TRANSPARENT_HUGEPAGE and HUGETLB_PAGE but I'm not sure it's worth it.

-- 
Catalin

Reply via email to