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

2023-03-24 Thread Zi Yan
On 24 Mar 2023, at 1:22, Mike Rapoport wrote:

> From: "Mike Rapoport (IBM)" 
>
> 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) 
> Acked-by: Kirill A. Shutemov 
> ---
>  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


signature.asc
Description: OpenPGP digital signature


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

2023-03-23 Thread Mike Rapoport
From: "Mike Rapoport (IBM)" 

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) 
Acked-by: Kirill A. Shutemov 
---
 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
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