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, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href