summaryrefslogtreecommitdiffstats
path: root/mm/page_alloc.c
diff options
context:
space:
mode:
authorMel Gorman <mgorman@techsingularity.net>2016-07-28 18:46:14 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2016-07-28 19:07:41 -0400
commit50658e2e04c12d5cd628381c1b9cb69d0093a9c0 (patch)
tree9afad9b1cba152df6971cedb58d5d39d9a538c44 /mm/page_alloc.c
parent281e37265f2826ed401d84d6790226448ef3f0e8 (diff)
mm: move page mapped accounting to the node
Reclaim makes decisions based on the number of pages that are mapped but it's mixing node and zone information. Account NR_FILE_MAPPED and NR_ANON_PAGES pages on the node. Link: http://lkml.kernel.org/r/1467970510-21195-18-git-send-email-mgorman@techsingularity.net Signed-off-by: Mel Gorman <mgorman@techsingularity.net> Acked-by: Vlastimil Babka <vbabka@suse.cz> Acked-by: Michal Hocko <mhocko@suse.com> Cc: Hillf Danton <hillf.zj@alibaba-inc.com> Acked-by: Johannes Weiner <hannes@cmpxchg.org> Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com> Cc: Minchan Kim <minchan@kernel.org> Cc: Rik van Riel <riel@surriel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/page_alloc.c')
-rw-r--r--mm/page_alloc.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 73b018df6e42..c11935bf37cb 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -4312,7 +4312,7 @@ void show_free_areas(unsigned int filter)
4312 global_page_state(NR_UNSTABLE_NFS), 4312 global_page_state(NR_UNSTABLE_NFS),
4313 global_page_state(NR_SLAB_RECLAIMABLE), 4313 global_page_state(NR_SLAB_RECLAIMABLE),
4314 global_page_state(NR_SLAB_UNRECLAIMABLE), 4314 global_page_state(NR_SLAB_UNRECLAIMABLE),
4315 global_page_state(NR_FILE_MAPPED), 4315 global_node_page_state(NR_FILE_MAPPED),
4316 global_page_state(NR_SHMEM), 4316 global_page_state(NR_SHMEM),
4317 global_page_state(NR_PAGETABLE), 4317 global_page_state(NR_PAGETABLE),
4318 global_page_state(NR_BOUNCE), 4318 global_page_state(NR_BOUNCE),
@@ -4334,6 +4334,7 @@ void show_free_areas(unsigned int filter)
4334 " unevictable:%lukB" 4334 " unevictable:%lukB"
4335 " isolated(anon):%lukB" 4335 " isolated(anon):%lukB"
4336 " isolated(file):%lukB" 4336 " isolated(file):%lukB"
4337 " mapped:%lukB"
4337 " all_unreclaimable? %s" 4338 " all_unreclaimable? %s"
4338 "\n", 4339 "\n",
4339 pgdat->node_id, 4340 pgdat->node_id,
@@ -4344,6 +4345,7 @@ void show_free_areas(unsigned int filter)
4344 K(node_page_state(pgdat, NR_UNEVICTABLE)), 4345 K(node_page_state(pgdat, NR_UNEVICTABLE)),
4345 K(node_page_state(pgdat, NR_ISOLATED_ANON)), 4346 K(node_page_state(pgdat, NR_ISOLATED_ANON)),
4346 K(node_page_state(pgdat, NR_ISOLATED_FILE)), 4347 K(node_page_state(pgdat, NR_ISOLATED_FILE)),
4348 K(node_page_state(pgdat, NR_FILE_MAPPED)),
4347 !pgdat_reclaimable(pgdat) ? "yes" : "no"); 4349 !pgdat_reclaimable(pgdat) ? "yes" : "no");
4348 } 4350 }
4349 4351
@@ -4368,7 +4370,6 @@ void show_free_areas(unsigned int filter)
4368 " mlocked:%lukB" 4370 " mlocked:%lukB"
4369 " dirty:%lukB" 4371 " dirty:%lukB"
4370 " writeback:%lukB" 4372 " writeback:%lukB"
4371 " mapped:%lukB"
4372 " shmem:%lukB" 4373 " shmem:%lukB"
4373#ifdef CONFIG_TRANSPARENT_HUGEPAGE 4374#ifdef CONFIG_TRANSPARENT_HUGEPAGE
4374 " shmem_thp: %lukB" 4375 " shmem_thp: %lukB"
@@ -4397,7 +4398,6 @@ void show_free_areas(unsigned int filter)
4397 K(zone_page_state(zone, NR_MLOCK)), 4398 K(zone_page_state(zone, NR_MLOCK)),
4398 K(zone_page_state(zone, NR_FILE_DIRTY)), 4399 K(zone_page_state(zone, NR_FILE_DIRTY)),
4399 K(zone_page_state(zone, NR_WRITEBACK)), 4400 K(zone_page_state(zone, NR_WRITEBACK)),
4400 K(zone_page_state(zone, NR_FILE_MAPPED)),
4401 K(zone_page_state(zone, NR_SHMEM)), 4401 K(zone_page_state(zone, NR_SHMEM)),
4402#ifdef CONFIG_TRANSPARENT_HUGEPAGE 4402#ifdef CONFIG_TRANSPARENT_HUGEPAGE
4403 K(zone_page_state(zone, NR_SHMEM_THPS) * HPAGE_PMD_NR), 4403 K(zone_page_state(zone, NR_SHMEM_THPS) * HPAGE_PMD_NR),