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

From: Georgi Djakov
Date: Tue Jan 31 2023 - 09:26:47 EST


Hi Sukadev,

On 31.01.23 9:10, 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.

The above makes sense to me. But it also needs to documented like the other
sysctl files in Documentation/admin-guide/sysctl/vm.rst

Thanks,
Georgi


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.
---
include/linux/mm.h | 1 +
kernel/sysctl.c | 8 ++++++++
mm/page_alloc.c | 18 +++++++++++++++---
mm/util.c | 2 ++
4 files changed, 26 insertions(+), 3 deletions(-)