Re: [RFC PATCH 12/15] mm: Make MAX_ORDER of buddy allocator configurable via Kconfig SET_MAX_ORDER.

From: Vlastimil Babka
Date: Fri Aug 06 2021 - 11:17:03 EST


On 8/5/21 9:02 PM, Zi Yan wrote:
> From: Zi Yan <ziy@xxxxxxxxxx>
> +config SET_MAX_ORDER
> + int "Set maximum order of buddy allocator"
> + depends on SPARSEMEM_VMEMMAP && (ARCH_FORCE_MAX_ORDER = 0)
> + range 11 255
> + default "11"
> + 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.
> +
> + This config option is actually maximum order plus one. For example,
> + a value of 11 means that the largest free memory block is 2^10 pages.

It's enough that it's confusing for the devs, we could spare the users and add
+1 to the value they specify :)

> config HAVE_MEMBLOCK_PHYS_MAP
> bool
>
>