On Sat, Jul 11, 2020 at 9:15 AM Shakeel Butt <shakeelb@xxxxxxxxxx> wrote: > > 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@xxxxxxxxxx> Acked-by: Yafang Shao <laoar.shao@xxxxxxxxx> > --- > 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 > -- Thanks Yafang