mm: per-cgroup memory reclaim stats
Track the following reclaim counters for every memory cgroup: PGREFILL, PGSCAN, PGSTEAL, PGACTIVATE, PGDEACTIVATE, PGLAZYFREE and PGLAZYFREED. These values are exposed using the memory.stats interface of cgroup v2. The meaning of each value is the same as for global counters, available using /proc/vmstat. Also, for consistency, rename mem_cgroup_count_vm_event() to count_memcg_event_mm(). Link: http://lkml.kernel.org/r/1494530183-30808-1-git-send-email-guro@fb.com Signed-off-by: Roman Gushchin <guro@fb.com> Suggested-by: Johannes Weiner <hannes@cmpxchg.org> Acked-by: Michal Hocko <mhocko@suse.com> Acked-by: Vladimir Davydov <vdavydov.dev@gmail.com> Acked-by: Johannes Weiner <hannes@cmpxchg.org> Cc: Tejun Heo <tj@kernel.org> Cc: Li Zefan <lizefan@huawei.com> Cc: Balbir Singh <bsingharora@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:

committed by
Linus Torvalds

parent
94f4a1618b
commit
2262185c5b
@@ -5230,6 +5230,16 @@ static int memory_stat_show(struct seq_file *m, void *v)
|
||||
seq_printf(m, "pgfault %lu\n", events[PGFAULT]);
|
||||
seq_printf(m, "pgmajfault %lu\n", events[PGMAJFAULT]);
|
||||
|
||||
seq_printf(m, "pgrefill %lu\n", events[PGREFILL]);
|
||||
seq_printf(m, "pgscan %lu\n", events[PGSCAN_KSWAPD] +
|
||||
events[PGSCAN_DIRECT]);
|
||||
seq_printf(m, "pgsteal %lu\n", events[PGSTEAL_KSWAPD] +
|
||||
events[PGSTEAL_DIRECT]);
|
||||
seq_printf(m, "pgactivate %lu\n", events[PGACTIVATE]);
|
||||
seq_printf(m, "pgdeactivate %lu\n", events[PGDEACTIVATE]);
|
||||
seq_printf(m, "pglazyfree %lu\n", events[PGLAZYFREE]);
|
||||
seq_printf(m, "pglazyfreed %lu\n", events[PGLAZYFREED]);
|
||||
|
||||
seq_printf(m, "workingset_refault %lu\n",
|
||||
stat[WORKINGSET_REFAULT]);
|
||||
seq_printf(m, "workingset_activate %lu\n",
|
||||
|
Reference in New Issue
Block a user