aboutsummaryrefslogtreecommitdiffstats
path: root/mm/page-writeback.c
diff options
context:
space:
mode:
authorJohannes Weiner <hannes@cmpxchg.org>2017-05-03 17:55:13 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2017-05-03 18:52:11 -0400
commit71cd31135d4cf030a057ed7079a75a40c0a4a796 (patch)
treec95c8da1e70c21e412d9ab7328fc414ecfb80451 /mm/page-writeback.c
parentdf0e53d0619e83b465e363c088bf4eeb2848273b (diff)
mm: memcontrol: re-use node VM page state enum
The current duplication is a high-maintenance mess, and it's painful to add new items or query memcg state from the rest of the VM. This increases the size of the stat array marginally, but we should aim to track all these stats on a per-cgroup level anyway. Link: http://lkml.kernel.org/r/20170404220148.28338-3-hannes@cmpxchg.org Signed-off-by: Johannes Weiner <hannes@cmpxchg.org> Acked-by: Vladimir Davydov <vdavydov.dev@gmail.com> Cc: Michal Hocko <mhocko@suse.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/page-writeback.c')
-rw-r--r--mm/page-writeback.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/mm/page-writeback.c b/mm/page-writeback.c
index 33df0583edb9..777711203809 100644
--- a/mm/page-writeback.c
+++ b/mm/page-writeback.c
@@ -2427,7 +2427,7 @@ void account_page_dirtied(struct page *page, struct address_space *mapping)
2427 inode_attach_wb(inode, page); 2427 inode_attach_wb(inode, page);
2428 wb = inode_to_wb(inode); 2428 wb = inode_to_wb(inode);
2429 2429
2430 mem_cgroup_inc_page_stat(page, MEM_CGROUP_STAT_DIRTY); 2430 mem_cgroup_inc_page_stat(page, NR_FILE_DIRTY);
2431 __inc_node_page_state(page, NR_FILE_DIRTY); 2431 __inc_node_page_state(page, NR_FILE_DIRTY);
2432 __inc_zone_page_state(page, NR_ZONE_WRITE_PENDING); 2432 __inc_zone_page_state(page, NR_ZONE_WRITE_PENDING);
2433 __inc_node_page_state(page, NR_DIRTIED); 2433 __inc_node_page_state(page, NR_DIRTIED);
@@ -2449,7 +2449,7 @@ void account_page_cleaned(struct page *page, struct address_space *mapping,
2449 struct bdi_writeback *wb) 2449 struct bdi_writeback *wb)
2450{ 2450{
2451 if (mapping_cap_account_dirty(mapping)) { 2451 if (mapping_cap_account_dirty(mapping)) {
2452 mem_cgroup_dec_page_stat(page, MEM_CGROUP_STAT_DIRTY); 2452 mem_cgroup_dec_page_stat(page, NR_FILE_DIRTY);
2453 dec_node_page_state(page, NR_FILE_DIRTY); 2453 dec_node_page_state(page, NR_FILE_DIRTY);
2454 dec_zone_page_state(page, NR_ZONE_WRITE_PENDING); 2454 dec_zone_page_state(page, NR_ZONE_WRITE_PENDING);
2455 dec_wb_stat(wb, WB_RECLAIMABLE); 2455 dec_wb_stat(wb, WB_RECLAIMABLE);
@@ -2706,7 +2706,7 @@ int clear_page_dirty_for_io(struct page *page)
2706 */ 2706 */
2707 wb = unlocked_inode_to_wb_begin(inode, &locked); 2707 wb = unlocked_inode_to_wb_begin(inode, &locked);
2708 if (TestClearPageDirty(page)) { 2708 if (TestClearPageDirty(page)) {
2709 mem_cgroup_dec_page_stat(page, MEM_CGROUP_STAT_DIRTY); 2709 mem_cgroup_dec_page_stat(page, NR_FILE_DIRTY);
2710 dec_node_page_state(page, NR_FILE_DIRTY); 2710 dec_node_page_state(page, NR_FILE_DIRTY);
2711 dec_zone_page_state(page, NR_ZONE_WRITE_PENDING); 2711 dec_zone_page_state(page, NR_ZONE_WRITE_PENDING);
2712 dec_wb_stat(wb, WB_RECLAIMABLE); 2712 dec_wb_stat(wb, WB_RECLAIMABLE);
@@ -2753,7 +2753,7 @@ int test_clear_page_writeback(struct page *page)
2753 ret = TestClearPageWriteback(page); 2753 ret = TestClearPageWriteback(page);
2754 } 2754 }
2755 if (ret) { 2755 if (ret) {
2756 mem_cgroup_dec_page_stat(page, MEM_CGROUP_STAT_WRITEBACK); 2756 mem_cgroup_dec_page_stat(page, NR_WRITEBACK);
2757 dec_node_page_state(page, NR_WRITEBACK); 2757 dec_node_page_state(page, NR_WRITEBACK);
2758 dec_zone_page_state(page, NR_ZONE_WRITE_PENDING); 2758 dec_zone_page_state(page, NR_ZONE_WRITE_PENDING);
2759 inc_node_page_state(page, NR_WRITTEN); 2759 inc_node_page_state(page, NR_WRITTEN);
@@ -2808,7 +2808,7 @@ int __test_set_page_writeback(struct page *page, bool keep_write)
2808 ret = TestSetPageWriteback(page); 2808 ret = TestSetPageWriteback(page);
2809 } 2809 }
2810 if (!ret) { 2810 if (!ret) {
2811 mem_cgroup_inc_page_stat(page, MEM_CGROUP_STAT_WRITEBACK); 2811 mem_cgroup_inc_page_stat(page, NR_WRITEBACK);
2812 inc_node_page_state(page, NR_WRITEBACK); 2812 inc_node_page_state(page, NR_WRITEBACK);
2813 inc_zone_page_state(page, NR_ZONE_WRITE_PENDING); 2813 inc_zone_page_state(page, NR_ZONE_WRITE_PENDING);
2814 } 2814 }