Re: [PATCH v2 2/2] fs: proc: Include cma info in proc/meminfo

From: Michal Nazarewicz
Date: Fri Oct 24 2014 - 12:31:34 EST


On Wed, Oct 22 2014, Pintu Kumar <pintu.k@xxxxxxxxxxx> wrote:
> This patch include CMA info (CMATotal, CMAFree) in /proc/meminfo.
> Currently, in a CMA enabled system, if somebody wants to know the
> total CMA size declared, there is no way to tell, other than the dmesg
> or /var/log/messages logs.
> With this patch we are showing the CMA info as part of meminfo, so that
> it can be determined at any point of time.
> This will be populated only when CMA is enabled.
>
> Below is the sample output from a ARM based device with RAM:512MB and CMA:16MB.
>
> MemTotal: 471172 kB
> MemFree: 111712 kB
> MemAvailable: 271172 kB
> .
> .
> .
> CmaTotal: 16384 kB
> CmaFree: 6144 kB
>
> This patch also fix below checkpatch errors that were found during these changes.

As already mentioned, this should be in separate patch.

>
> ERROR: space required after that ',' (ctx:ExV)
> 199: FILE: fs/proc/meminfo.c:199:
> + ,atomic_long_read(&num_poisoned_pages) << (PAGE_SHIFT - 10)
> ^
>
> ERROR: space required after that ',' (ctx:ExV)
> 202: FILE: fs/proc/meminfo.c:202:
> + ,K(global_page_state(NR_ANON_TRANSPARENT_HUGEPAGES) *
> ^
>
> ERROR: space required after that ',' (ctx:ExV)
> 206: FILE: fs/proc/meminfo.c:206:
> + ,K(totalcma_pages)
> ^
>
> total: 3 errors, 0 warnings, 2 checks, 236 lines checked
>
> Signed-off-by: Pintu Kumar <pintu.k@xxxxxxxxxxx>
> Signed-off-by: Vishnu Pratap Singh <vishnu.ps@xxxxxxxxxxx>

Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx>

> ---
> fs/proc/meminfo.c | 15 +++++++++++++--
> 1 file changed, 13 insertions(+), 2 deletions(-)
>
> diff --git a/fs/proc/meminfo.c b/fs/proc/meminfo.c
> index aa1eee0..d3ebf2e 100644
> --- a/fs/proc/meminfo.c
> +++ b/fs/proc/meminfo.c
> @@ -12,6 +12,9 @@
> #include <linux/vmstat.h>
> #include <linux/atomic.h>
> #include <linux/vmalloc.h>
> +#ifdef CONFIG_CMA
> +#include <linux/cma.h>
> +#endif
> #include <asm/page.h>
> #include <asm/pgtable.h>
> #include "internal.h"
> @@ -138,6 +141,10 @@ static int meminfo_proc_show(struct seq_file *m, void *v)
> #ifdef CONFIG_TRANSPARENT_HUGEPAGE
> "AnonHugePages: %8lu kB\n"
> #endif
> +#ifdef CONFIG_CMA
> + "CmaTotal: %8lu kB\n"
> + "CmaFree: %8lu kB\n"
> +#endif
> ,
> K(i.totalram),
> K(i.freeram),
> @@ -187,12 +194,16 @@ static int meminfo_proc_show(struct seq_file *m, void *v)
> vmi.used >> 10,
> vmi.largest_chunk >> 10
> #ifdef CONFIG_MEMORY_FAILURE
> - ,atomic_long_read(&num_poisoned_pages) << (PAGE_SHIFT - 10)
> + , atomic_long_read(&num_poisoned_pages) << (PAGE_SHIFT - 10)
> #endif
> #ifdef CONFIG_TRANSPARENT_HUGEPAGE
> - ,K(global_page_state(NR_ANON_TRANSPARENT_HUGEPAGES) *
> + , K(global_page_state(NR_ANON_TRANSPARENT_HUGEPAGES) *
> HPAGE_PMD_NR)
> #endif
> +#ifdef CONFIG_CMA
> + , K(totalcma_pages)
> + , K(global_page_state(NR_FREE_CMA_PAGES))
> +#endif
> );
>
> hugetlb_report_meminfo(m);
> --
> 1.7.9.5
>

--
Best regards, _ _
.o. | Liege of Serenely Enlightened Majesty of o' \,=./ `o
..o | Computer Science, MichaÅ âmina86â Nazarewicz (o o)
ooo +--<mpn@xxxxxxxxxx>--<xmpp:mina86@xxxxxxxxxx>--ooO--(_)--Ooo--
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/