diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h index acd4665c30251187e95a286dbe5e61434de5f978..e3d6d42722a07f49fd9cc8b35dc6e979c36b9290 100644 --- a/include/linux/mmzone.h +++ b/include/linux/mmzone.h @@ -122,10 +122,6 @@ enum zone_stat_item { NR_KERNEL_STACK, /* Second 128 byte cacheline */ NR_BOUNCE, - NR_VMSCAN_WRITE, - NR_VMSCAN_IMMEDIATE, /* Prioritise for reclaim when writeback ends */ - NR_DIRTIED, /* page dirtyings since bootup */ - NR_WRITTEN, /* page writings since bootup */ #if IS_ENABLED(CONFIG_ZSMALLOC) NR_ZSPAGES, /* allocated in zsmalloc */ #endif @@ -165,6 +161,10 @@ enum node_stat_item { NR_SHMEM_PMDMAPPED, NR_ANON_THPS, NR_UNSTABLE_NFS, /* NFS unstable pages */ + NR_VMSCAN_WRITE, + NR_VMSCAN_IMMEDIATE, /* Prioritise for reclaim when writeback ends */ + NR_DIRTIED, /* page dirtyings since bootup */ + NR_WRITTEN, /* page writings since bootup */ NR_VM_NODE_STAT_ITEMS }; diff --git a/include/trace/events/writeback.h b/include/trace/events/writeback.h index ad20f2d2b1f957fd01e699467f573e77d21d1f17..2ccd9ccbf9efeaa7794eda0ca20589d42cf67784 100644 --- a/include/trace/events/writeback.h +++ b/include/trace/events/writeback.h @@ -415,8 +415,8 @@ TRACE_EVENT(global_dirty_state, __entry->nr_dirty = global_node_page_state(NR_FILE_DIRTY); __entry->nr_writeback = global_node_page_state(NR_WRITEBACK); __entry->nr_unstable = global_node_page_state(NR_UNSTABLE_NFS); - __entry->nr_dirtied = global_page_state(NR_DIRTIED); - __entry->nr_written = global_page_state(NR_WRITTEN); + __entry->nr_dirtied = global_node_page_state(NR_DIRTIED); + __entry->nr_written = global_node_page_state(NR_WRITTEN); __entry->background_thresh = background_thresh; __entry->dirty_thresh = dirty_thresh; __entry->dirty_limit = global_wb_domain.dirty_limit; diff --git a/mm/page-writeback.c b/mm/page-writeback.c index f97591d9fa001792ab92e77f855fc3d0026d5530..3c02aa603f5a1a2344490a580d593f3fb0953d29 100644 --- a/mm/page-writeback.c +++ b/mm/page-writeback.c @@ -2461,7 +2461,7 @@ void account_page_dirtied(struct page *page, struct address_space *mapping) mem_cgroup_inc_page_stat(page, MEM_CGROUP_STAT_DIRTY); __inc_node_page_state(page, NR_FILE_DIRTY); __inc_zone_page_state(page, NR_ZONE_WRITE_PENDING); - __inc_zone_page_state(page, NR_DIRTIED); + __inc_node_page_state(page, NR_DIRTIED); __inc_wb_stat(wb, WB_RECLAIMABLE); __inc_wb_stat(wb, WB_DIRTIED); task_io_account_write(PAGE_SIZE); @@ -2550,7 +2550,7 @@ void account_page_redirty(struct page *page) wb = unlocked_inode_to_wb_begin(inode, &locked); current->nr_dirtied--; - dec_zone_page_state(page, NR_DIRTIED); + dec_node_page_state(page, NR_DIRTIED); dec_wb_stat(wb, WB_DIRTIED); unlocked_inode_to_wb_end(inode, locked); } @@ -2787,7 +2787,7 @@ int test_clear_page_writeback(struct page *page) mem_cgroup_dec_page_stat(page, MEM_CGROUP_STAT_WRITEBACK); dec_node_page_state(page, NR_WRITEBACK); dec_zone_page_state(page, NR_ZONE_WRITE_PENDING); - inc_zone_page_state(page, NR_WRITTEN); + inc_node_page_state(page, NR_WRITTEN); } unlock_page_memcg(page); return ret; diff --git a/mm/vmscan.c b/mm/vmscan.c index b797afec3057ffc74a594ff50b84fe7b96edaa5e..9b61a55b6e3802ac0308a224c9353ee3cd520852 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -612,7 +612,7 @@ static pageout_t pageout(struct page *page, struct address_space *mapping, ClearPageReclaim(page); } trace_mm_vmscan_writepage(page); - inc_zone_page_state(page, NR_VMSCAN_WRITE); + inc_node_page_state(page, NR_VMSCAN_WRITE); return PAGE_SUCCESS; } @@ -1117,7 +1117,7 @@ static unsigned long shrink_page_list(struct list_head *page_list, * except we already have the page isolated * and know it's dirty */ - inc_zone_page_state(page, NR_VMSCAN_IMMEDIATE); + inc_node_page_state(page, NR_VMSCAN_IMMEDIATE); SetPageReclaim(page); goto keep_locked; diff --git a/mm/vmstat.c b/mm/vmstat.c index 455392158062e4f0c291fe0ff75344fce397f62f..bc94968400d0d930de1a673342fe9ade42d7b82c 100644 --- a/mm/vmstat.c +++ b/mm/vmstat.c @@ -931,10 +931,6 @@ const char * const vmstat_text[] = { "nr_page_table_pages", "nr_kernel_stack", "nr_bounce", - "nr_vmscan_write", - "nr_vmscan_immediate_reclaim", - "nr_dirtied", - "nr_written", #if IS_ENABLED(CONFIG_ZSMALLOC) "nr_zspages", #endif @@ -971,6 +967,10 @@ const char * const vmstat_text[] = { "nr_shmem_pmdmapped", "nr_anon_transparent_hugepages", "nr_unstable", + "nr_vmscan_write", + "nr_vmscan_immediate_reclaim", + "nr_dirtied", + "nr_written", /* enum writeback_stat_item counters */ "nr_dirty_threshold",