diff options
author | Mel Gorman <mgorman@techsingularity.net> | 2016-07-28 18:46:14 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-07-28 19:07:41 -0400 |
commit | 50658e2e04c12d5cd628381c1b9cb69d0093a9c0 (patch) | |
tree | 9afad9b1cba152df6971cedb58d5d39d9a538c44 /mm/page_alloc.c | |
parent | 281e37265f2826ed401d84d6790226448ef3f0e8 (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.c | 6 |
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), |