mm/cma: add sysfs file 'release_pages_success'
authorAnshuman Khandual <anshuman.khandual@arm.com>
Tue, 6 Feb 2024 04:57:31 +0000 (10:27 +0530)
committerAndrew Morton <akpm@linux-foundation.org>
Thu, 22 Feb 2024 18:24:57 +0000 (10:24 -0800)
commitb9ad003af13a1fe34319da6c2082038bce833831
tree7adb6a1e9eb762f06869eb88a9c9676726d21b6b
parent501e3dc505f7c8ce8da0532db81e99fae6688074
mm/cma: add sysfs file 'release_pages_success'

This adds the following new sysfs file tracking the number of successfully
released pages from a given CMA heap area.  This file will be available
via CONFIG_CMA_SYSFS and help in determining active CMA pages available on
the CMA heap area.  This adds a new 'nr_pages_released' (CONFIG_CMA_SYSFS)
into 'struct cma' which gets updated during cma_release().

/sys/kernel/mm/cma/<cma-heap-area>/release_pages_success

After this change, an user will be able to find active CMA pages available
in a given CMA heap area via the following method.

Active pages = alloc_pages_success - release_pages_success

That's valuable information for both software designers, and system admins
as it allows them to tune the number of CMA pages available in the system.
This increases user visibility for allocated CMA area and its
utilization.

Link: https://lkml.kernel.org/r/20240206045731.472759-1-anshuman.khandual@arm.com
Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Documentation/ABI/testing/sysfs-kernel-mm-cma
mm/cma.c
mm/cma.h
mm/cma_sysfs.c