In commit 0a76d99f5aa, the cpuacct controller was implicitly enabled in cgroup v2. This patch enables user access to the cpuacct interface files in cgroup v2, allowing statistics such as cpuacct.usage_percpu to be retrieved in the same way as in cgroup v1.
https://virtuozzo.atlassian.net/browse/VSTOR-100092 Signed-off-by: Aleksei Oladko <[email protected]> --- kernel/sched/cpuacct.c | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/kernel/sched/cpuacct.c b/kernel/sched/cpuacct.c index 65a331807e5d..4aa845afa9e7 100644 --- a/kernel/sched/cpuacct.c +++ b/kernel/sched/cpuacct.c @@ -293,6 +293,43 @@ static int cpuacct_stats_show(struct seq_file *sf, void *v) return 0; } +static struct cftype cpuacct_files[] = { + { + .name = "usage", + .read_u64 = cpuusage_read, + .write_u64 = cpuusage_write, + }, + { + .name = "usage_user", + .read_u64 = cpuusage_user_read, + }, + { + .name = "usage_sys", + .read_u64 = cpuusage_sys_read, + }, + { + .name = "usage_percpu", + .seq_show = cpuacct_percpu_seq_show, + }, + { + .name = "usage_percpu_user", + .seq_show = cpuacct_percpu_user_seq_show, + }, + { + .name = "usage_percpu_sys", + .seq_show = cpuacct_percpu_sys_seq_show, + }, + { + .name = "usage_all", + .seq_show = cpuacct_all_seq_show, + }, + { + .name = "stat", + .seq_show = cpuacct_stats_show, + }, + { } /* terminate */ +}; + static struct cftype files[] = { { .name = "usage", @@ -363,6 +400,7 @@ struct cgroup_subsys cpuacct_cgrp_subsys = { .css_alloc = cpuacct_css_alloc, .css_free = cpuacct_css_free, .legacy_cftypes = files, + .dfl_cftypes = cpuacct_files, .early_init = true, .implicit_on_dfl = true, -- 2.43.0 _______________________________________________ Devel mailing list [email protected] https://lists.openvz.org/mailman/listinfo/devel
