mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-08 15:04:45 +00:00
mm: memcg: export workingset refault stats for cgroup v1
Workingset refault stats are important and useful metrics to measure how well reclaimer and swapping work and how healthy the services are, but they are just available for cgroup v2. There are still plenty users with cgroup v1, export the stats for cgroup v1. Link: https://lkml.kernel.org/r/20220816185801.651091-1-shy828301@gmail.com Signed-off-by: Yang Shi <shy828301@gmail.com> Acked-by: Shakeel Butt <shakeelb@google.com> Cc: Johannes Weiner <hannes@cmpxchg.org> Cc: Michal Hocko <mhocko@kernel.org> Cc: Muchun Song <songmuchun@bytedance.com> Cc: Roman Gushchin <roman.gushchin@linux.dev> Cc: Yosry Ahmed <yosryahmed@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
8f0efa81df
commit
e09b0b61fb
@ -3975,6 +3975,8 @@ static const unsigned int memcg1_stats[] = {
|
||||
NR_FILE_MAPPED,
|
||||
NR_FILE_DIRTY,
|
||||
NR_WRITEBACK,
|
||||
WORKINGSET_REFAULT_ANON,
|
||||
WORKINGSET_REFAULT_FILE,
|
||||
MEMCG_SWAP,
|
||||
};
|
||||
|
||||
@ -3988,6 +3990,8 @@ static const char *const memcg1_stat_names[] = {
|
||||
"mapped_file",
|
||||
"dirty",
|
||||
"writeback",
|
||||
"workingset_refault_anon",
|
||||
"workingset_refault_file",
|
||||
"swap",
|
||||
};
|
||||
|
||||
@ -4016,7 +4020,8 @@ static int memcg_stat_show(struct seq_file *m, void *v)
|
||||
if (memcg1_stats[i] == MEMCG_SWAP && !do_memsw_account())
|
||||
continue;
|
||||
nr = memcg_page_state_local(memcg, memcg1_stats[i]);
|
||||
seq_printf(m, "%s %lu\n", memcg1_stat_names[i], nr * PAGE_SIZE);
|
||||
seq_printf(m, "%s %lu\n", memcg1_stat_names[i],
|
||||
nr * memcg_page_state_unit(memcg1_stats[i]));
|
||||
}
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(memcg1_events); i++)
|
||||
@ -4047,7 +4052,7 @@ static int memcg_stat_show(struct seq_file *m, void *v)
|
||||
continue;
|
||||
nr = memcg_page_state(memcg, memcg1_stats[i]);
|
||||
seq_printf(m, "total_%s %llu\n", memcg1_stat_names[i],
|
||||
(u64)nr * PAGE_SIZE);
|
||||
(u64)nr * memcg_page_state_unit(memcg1_stats[i]));
|
||||
}
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(memcg1_events); i++)
|
||||
|
Loading…
Reference in New Issue
Block a user