Message ID | 20230324052233.2654090-4-rppt@kernel.org (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | arch,mm: cleanup Kconfig entries for ARCH_FORCE_MAX_ORDER | expand |
On 24 Mar 2023, at 1:22, Mike Rapoport wrote: > From: "Mike Rapoport (IBM)" <rppt@kernel.org> > > 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@kernel.org> > Acked-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> > --- > 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
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