[PATCH] proc, meminfo: Use correct helpers for calculating LRU sizes in meminfo

From: Mel Gorman
Date: Fri Aug 05 2016 - 06:58:15 EST


meminfo_proc_show and si_mem_available are using the wrong helpers for
calculating the size of the LRUs. The user-visible impact is that there
appears to be an abnormally high number of unevictable pages.

Signed-off-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx>
---
fs/proc/meminfo.c | 2 +-
mm/page_alloc.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/fs/proc/meminfo.c b/fs/proc/meminfo.c
index 09e18fdf61e5..b9a8c813e5e6 100644
--- a/fs/proc/meminfo.c
+++ b/fs/proc/meminfo.c
@@ -46,7 +46,7 @@ static int meminfo_proc_show(struct seq_file *m, void *v)
cached = 0;

for (lru = LRU_BASE; lru < NR_LRU_LISTS; lru++)
- pages[lru] = global_page_state(NR_LRU_BASE + lru);
+ pages[lru] = global_node_page_state(NR_LRU_BASE + lru);

available = si_mem_available();

diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index fb975cec3518..baa97da3687d 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -4064,7 +4064,7 @@ long si_mem_available(void)
int lru;

for (lru = LRU_BASE; lru < NR_LRU_LISTS; lru++)
- pages[lru] = global_page_state(NR_LRU_BASE + lru);
+ pages[lru] = global_node_page_state(NR_LRU_BASE + lru);

for_each_zone(zone)
wmark_low += zone->watermark[WMARK_LOW];