linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] mm: vmscan: consistent update to pgrefill
@ 2020-07-11  1:14 Shakeel Butt
  2020-07-11  1:54 ` Yafang Shao
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Shakeel Butt @ 2020-07-11  1:14 UTC (permalink / raw)
  To: Johannes Weiner, Roman Gushchin, Michal Hocko, Yafang Shao, Chris Down
  Cc: Andrew Morton, linux-mm, linux-kernel, Shakeel Butt

The vmstat pgrefill is useful together with pgscan and pgsteal stats to
measure the reclaim efficiency. However vmstat's pgrefill is not updated
consistently at system level. It gets updated for both global and memcg
reclaim however pgscan and pgsteal are updated for only global reclaim.
So, update pgrefill only for global reclaim. If someone is interested in
the stats representing both system level as well as memcg level reclaim,
then consult the root memcg's memory.stat instead of /proc/vmstat.

Signed-off-by: Shakeel Butt <shakeelb@google.com>
---
 mm/vmscan.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/mm/vmscan.c b/mm/vmscan.c
index 5215840ee217..4167b0cc1784 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -2030,7 +2030,8 @@ static void shrink_active_list(unsigned long nr_to_scan,
 
 	__mod_node_page_state(pgdat, NR_ISOLATED_ANON + file, nr_taken);
 
-	__count_vm_events(PGREFILL, nr_scanned);
+	if (!cgroup_reclaim(sc))
+		__count_vm_events(PGREFILL, nr_scanned);
 	__count_memcg_events(lruvec_memcg(lruvec), PGREFILL, nr_scanned);
 
 	spin_unlock_irq(&pgdat->lru_lock);
-- 
2.27.0.383.g050319c2ae-goog



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-07-11 10:07 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-11  1:14 [PATCH] mm: vmscan: consistent update to pgrefill Shakeel Butt
2020-07-11  1:54 ` Yafang Shao
2020-07-11  2:31 ` Roman Gushchin
2020-07-11  3:24   ` Shakeel Butt
2020-07-11 10:07 ` Chris Down

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox