瀏覽代碼

proc, meminfo: use correct helpers for calculating LRU sizes in meminfo

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.

Link: http://lkml.kernel.org/r/20160805105805.GR2799@techsingularity.net
Signed-off-by: Mel Gorman <mgorman@techsingularity.net>
Cc: Dave Chinner <david@fromorbit.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Mel Gorman 9 年之前
父節點
當前提交
2f95ff90b9
共有 2 個文件被更改,包括 2 次插入2 次删除
  1. 1 1
      fs/proc/meminfo.c
  2. 1 1
      mm/page_alloc.c

+ 1 - 1
fs/proc/meminfo.c

@@ -46,7 +46,7 @@ static int meminfo_proc_show(struct seq_file *m, void *v)
 		cached = 0;
 		cached = 0;
 
 
 	for (lru = LRU_BASE; lru < NR_LRU_LISTS; 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);
 
 
 	available = si_mem_available();
 	available = si_mem_available();
 
 

+ 1 - 1
mm/page_alloc.c

@@ -4060,7 +4060,7 @@ long si_mem_available(void)
 	int lru;
 	int lru;
 
 
 	for (lru = LRU_BASE; lru < NR_LRU_LISTS; 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)
 	for_each_zone(zone)
 		wmark_low += zone->watermark[WMARK_LOW];
 		wmark_low += zone->watermark[WMARK_LOW];