Re: [PATCH v2 03/14] arm64: reword ARCH_FORCE_MAX_ORDER prompt and help text

From: Zi Yan
Date: Fri Mar 24 2023 - 09:49:06 EST


On 24 Mar 2023, at 1:22, Mike Rapoport wrote:

> From: "Mike Rapoport (IBM)" <rppt@xxxxxxxxxx>
>
> The prompt and help text of ARCH_FORCE_MAX_ORDER are not even close to
> describe this configuration option.
>
> Update both to actually describe what this option does.
>
> Signed-off-by: Mike Rapoport (IBM) <rppt@xxxxxxxxxx>
> Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
> ---
> arch/arm64/Kconfig | 24 ++++++++++++------------
> 1 file changed, 12 insertions(+), 12 deletions(-)
>
> diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
> index 7324032af859..cdaf52ac4018 100644
> --- a/arch/arm64/Kconfig
> +++ b/arch/arm64/Kconfig
> @@ -1487,24 +1487,24 @@ config XEN
> # 16K | 27 | 14 | 13 | 11 |
> # 64K | 29 | 16 | 13 | 13 |
> config ARCH_FORCE_MAX_ORDER
> - int "Maximum zone order" if EXPERT && (ARM64_4K_PAGES || ARM64_16K_PAGES)
> + int "Order of maximal physically contiguous allocations" if ARM64_4K_PAGES || ARM64_16K_PAGES

It seems that "if EXPERT" was dropped by accident here.

> default "13" if ARM64_64K_PAGES
> default "11" if ARM64_16K_PAGES
> default "10"
> help
> - The kernel memory allocator divides physically contiguous memory
> - blocks into "zones", where each zone is a power of two number of
> - pages. This option selects the largest power of two that the kernel
> - keeps in the memory allocator. If you need to allocate very large
> - blocks of physically contiguous memory, then you may need to
> - increase this value.
> + The kernel page allocator limits the size of maximal physically
> + contiguous allocations. The limit is called MAX_ORDER and it
> + defines the maximal power of two of number of pages that can be
> + allocated as a single contiguous block. This option allows
> + overriding the default setting when ability to allocate very
> + large blocks of physically contiguous memory is required.
>
> - We make sure that we can allocate up to a HugePage size for each configuration.
> - Hence we have :
> - MAX_ORDER = PMD_SHIFT - PAGE_SHIFT => PAGE_SHIFT - 3
> + The maximal size of allocation cannot exceed the size of the
> + section, so the value of MAX_ORDER should satisfy
>
> - However for 4K, we choose a higher default value, 10 as opposed to 9, giving us
> - 4M allocations matching the default size used by generic code.
> + MAX_ORDER + PAGE_SHIFT <= SECTION_SIZE_BITS
> +
> + Don't change if unsure.
>
> config UNMAP_KERNEL_AT_EL0
> bool "Unmap kernel when running in userspace (aka \"KAISER\")" if EXPERT
> --
> 2.35.1


--
Best Regards,
Yan, Zi

Attachment: signature.asc
Description: OpenPGP digital signature