Commit 44ffc75b authored by Tejun Heo's avatar Tejun Heo

cgroup, sched: convert away from cftype->read_map()

In preparation of conversion to kernfs, cgroup file handling is being
consolidated so that it can be easily mapped to the seq_file based
interface of kernfs.

cftype->read_map() doesn't add any value and being replaced with
->read_seq_string().  Update cpu_stats_show() and cpuacct_stats_show()
accordingly.

This patch doesn't make any visible behavior changes.
Signed-off-by: default avatarTejun Heo <tj@kernel.org>
Acked-by: default avatarLi Zefan <lizefan@huawei.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
parent afb2bc14
...@@ -7257,14 +7257,14 @@ static int __cfs_schedulable(struct task_group *tg, u64 period, u64 quota) ...@@ -7257,14 +7257,14 @@ static int __cfs_schedulable(struct task_group *tg, u64 period, u64 quota)
} }
static int cpu_stats_show(struct cgroup_subsys_state *css, struct cftype *cft, static int cpu_stats_show(struct cgroup_subsys_state *css, struct cftype *cft,
struct cgroup_map_cb *cb) struct seq_file *sf)
{ {
struct task_group *tg = css_tg(css); struct task_group *tg = css_tg(css);
struct cfs_bandwidth *cfs_b = &tg->cfs_bandwidth; struct cfs_bandwidth *cfs_b = &tg->cfs_bandwidth;
cb->fill(cb, "nr_periods", cfs_b->nr_periods); seq_printf(sf, "nr_periods %d\n", cfs_b->nr_periods);
cb->fill(cb, "nr_throttled", cfs_b->nr_throttled); seq_printf(sf, "nr_throttled %d\n", cfs_b->nr_throttled);
cb->fill(cb, "throttled_time", cfs_b->throttled_time); seq_printf(sf, "throttled_time %llu\n", cfs_b->throttled_time);
return 0; return 0;
} }
...@@ -7318,7 +7318,7 @@ static struct cftype cpu_files[] = { ...@@ -7318,7 +7318,7 @@ static struct cftype cpu_files[] = {
}, },
{ {
.name = "stat", .name = "stat",
.read_map = cpu_stats_show, .read_seq_string = cpu_stats_show,
}, },
#endif #endif
#ifdef CONFIG_RT_GROUP_SCHED #ifdef CONFIG_RT_GROUP_SCHED
......
...@@ -184,7 +184,7 @@ static const char * const cpuacct_stat_desc[] = { ...@@ -184,7 +184,7 @@ static const char * const cpuacct_stat_desc[] = {
}; };
static int cpuacct_stats_show(struct cgroup_subsys_state *css, static int cpuacct_stats_show(struct cgroup_subsys_state *css,
struct cftype *cft, struct cgroup_map_cb *cb) struct cftype *cft, struct seq_file *sf)
{ {
struct cpuacct *ca = css_ca(css); struct cpuacct *ca = css_ca(css);
int cpu; int cpu;
...@@ -196,7 +196,7 @@ static int cpuacct_stats_show(struct cgroup_subsys_state *css, ...@@ -196,7 +196,7 @@ static int cpuacct_stats_show(struct cgroup_subsys_state *css,
val += kcpustat->cpustat[CPUTIME_NICE]; val += kcpustat->cpustat[CPUTIME_NICE];
} }
val = cputime64_to_clock_t(val); val = cputime64_to_clock_t(val);
cb->fill(cb, cpuacct_stat_desc[CPUACCT_STAT_USER], val); seq_printf(sf, "%s %lld\n", cpuacct_stat_desc[CPUACCT_STAT_USER], val);
val = 0; val = 0;
for_each_online_cpu(cpu) { for_each_online_cpu(cpu) {
...@@ -207,7 +207,7 @@ static int cpuacct_stats_show(struct cgroup_subsys_state *css, ...@@ -207,7 +207,7 @@ static int cpuacct_stats_show(struct cgroup_subsys_state *css,
} }
val = cputime64_to_clock_t(val); val = cputime64_to_clock_t(val);
cb->fill(cb, cpuacct_stat_desc[CPUACCT_STAT_SYSTEM], val); seq_printf(sf, "%s %lld\n", cpuacct_stat_desc[CPUACCT_STAT_SYSTEM], val);
return 0; return 0;
} }
...@@ -224,7 +224,7 @@ static struct cftype files[] = { ...@@ -224,7 +224,7 @@ static struct cftype files[] = {
}, },
{ {
.name = "stat", .name = "stat",
.read_map = cpuacct_stats_show, .read_seq_string = cpuacct_stats_show,
}, },
{ } /* terminate */ { } /* terminate */
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment