mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Vishnu Pratap Singh <vishnu.ps@samsung.com>
To: akpm@linux-foundation.org, linux@rasmusvillemoes.dk,
	riel@redhat.com, isimatu.yasuaki@jp.fujitsu.com,
	aquini@redhat.com, linux-kernel@vger.kernel.org
Cc: cpgs@samsung.com, vishu13285@gmail.com, pintu.k@samsung.com,
	rohit.kr@samsung.com, Vishnu Pratap Singh <vishnu.ps@samsung.com>
Subject: [PATCH] lib/show_mem.c: correct reserved memory calculation
Date: Mon, 20 Jul 2015 14:44:25 +0530	[thread overview]
Message-ID: <1437383665-29874-1-git-send-email-vishnu.ps@samsung.com> (raw)

CMA reserved memory is not part of total reserved memory.
Currently when we print the total reserve memory it considers
cma as part of reserve memory and do minus of totalcma_pages
from reserved, which is wrong. In cases where total reserved
is less than cma reserved we will get negative values & while
printing we print as unsigned and we will get a very large value.

Below is the show mem output on X86 ubuntu based system where
CMA reserved is 100MB (25600 pages) & total reserved is ~40MB(10316 pages).
And reserve memory shows a large value because of this bug.

Before:
[  127.066430] 898908 pages RAM
[  127.066432] 671682 pages HighMem/MovableOnly
[  127.066434] 4294952012 pages reserved
[  127.066436] 25600 pages cma reserved

After:
[   44.663129] 898908 pages RAM
[   44.663130] 671682 pages HighMem/MovableOnly
[   44.663130] 10316 pages reserved
[   44.663131] 25600 pages cma reserved

Also this patch change printk to pr_info.

Signed-off-by: Vishnu Pratap Singh <vishnu.ps@samsung.com>
---
 lib/show_mem.c |   17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

diff --git a/lib/show_mem.c b/lib/show_mem.c
index adc98e18..0af5ede 100644
--- a/lib/show_mem.c
+++ b/lib/show_mem.c
@@ -14,7 +14,7 @@ void show_mem(unsigned int filter)
 	pg_data_t *pgdat;
 	unsigned long total = 0, reserved = 0, highmem = 0;
 
-	printk("Mem-Info:\n");
+	pr_info("Mem-Info:\n");
 	show_free_areas(filter);
 
 	for_each_online_pgdat(pgdat) {
@@ -36,19 +36,18 @@ void show_mem(unsigned int filter)
 		pgdat_resize_unlock(pgdat, &flags);
 	}
 
-	printk("%lu pages RAM\n", total);
-	printk("%lu pages HighMem/MovableOnly\n", highmem);
+	pr_info("%lu pages RAM\n", total);
+	pr_info("%lu pages HighMem/MovableOnly\n", highmem);
+	pr_info("%lu pages reserved\n", reserved);
 #ifdef CONFIG_CMA
-	printk("%lu pages reserved\n", (reserved - totalcma_pages));
-	printk("%lu pages cma reserved\n", totalcma_pages);
-#else
-	printk("%lu pages reserved\n", reserved);
+	pr_info("%lu pages cma reserved\n", totalcma_pages);
 #endif
 #ifdef CONFIG_QUICKLIST
-	printk("%lu pages in pagetable cache\n",
+	pr_info("%lu pages in pagetable cache\n",
 		quicklist_total_size());
 #endif
 #ifdef CONFIG_MEMORY_FAILURE
-	printk("%lu pages hwpoisoned\n", atomic_long_read(&num_poisoned_pages));
+	pr_info("%lu pages hwpoisoned\n",
+		atomic_long_read(&num_poisoned_pages));
 #endif
 }
-- 
1.7.9.5


             reply	other threads:[~2015-07-20  9:16 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-20  9:14 Vishnu Pratap Singh [this message]
2015-07-20 22:48 ` Andrew Morton

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1437383665-29874-1-git-send-email-vishnu.ps@samsung.com \
    --to=vishnu.ps@samsung.com \
    --cc=akpm@linux-foundation.org \
    --cc=aquini@redhat.com \
    --cc=cpgs@samsung.com \
    --cc=isimatu.yasuaki@jp.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@rasmusvillemoes.dk \
    --cc=pintu.k@samsung.com \
    --cc=riel@redhat.com \
    --cc=rohit.kr@samsung.com \
    --cc=vishu13285@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®