Re: [PATCH] mm,page_alloc,cma: configurable CMA utilization

From: Roman Gushchin
Date: Tue Jan 31 2023 - 13:19:38 EST


On Mon, Jan 30, 2023 at 11:10:52PM -0800, Sukadev Bhattiprolu wrote:
>
> Commit 16867664936e ("mm,page_alloc,cma: conditionally prefer cma pageblocks for movable allocations")
> added support to use CMA pages when more than 50% of total free pages in
> the zone are free CMA pages.
>
> However, with multiplatform kernels a single binary is used across different
> targets of varying memory sizes. A low memory target using one such kernel
> would incur allocation failures even when sufficient memory is available in
> the CMA region. On these targets we would want to utilize a higher percentage
> of the CMA region and reduce the allocation failures, even if it means that a
> subsequent cma_alloc() would take longer.
>
> Make the percentage of CMA utilization a configurable parameter to allow
> for such usecases.
>
> Signed-off-by: Sukadev Bhattiprolu <quic_sukadev@xxxxxxxxxxx>
> ---
> Note: There was a mention about it being the last resort to making this
> percentage configurable (https://lkml.org/lkml/2020/3/12/751). But
> as explained above, multi-platform kernels for varying memory size
> targets would need this to be configurable.

Hi Sukadev!

Can you, please, share a bit more details about your setup? E.g. what is
the zone size, the cma area size and the value you want to set your sysctl to?

Roman