From e6bdf25e732a5e41bbffe9fd4704bc6a19f28cde Mon Sep 17 00:00:00 2001 From: Ken Chen Date: Mon, 15 Dec 2008 22:04:15 -0800 Subject: [PATCH] --- yaml --- r: 121347 b: refs/heads/master c: e9515c3c9feecd74174c2998add0db51e02abb8d h: refs/heads/master i: 121345: 475c3bacf204ee6dafe470438066fe272ec717b9 121343: 57a60d0e9c5a68d82f4bb7ded622cbea1b666aab v: v3 --- [refs] | 2 +- trunk/kernel/sched.c | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 248441a01e80..541e57786d43 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 720f54988e17b33f3f477010b3a68ee872d20d5a +refs/heads/master: e9515c3c9feecd74174c2998add0db51e02abb8d diff --git a/trunk/kernel/sched.c b/trunk/kernel/sched.c index 41b7e2d524d6..f53e2b8ef521 100644 --- a/trunk/kernel/sched.c +++ b/trunk/kernel/sched.c @@ -9342,12 +9342,32 @@ static int cpuusage_write(struct cgroup *cgrp, struct cftype *cftype, return err; } +static int cpuacct_percpu_seq_read(struct cgroup *cgroup, struct cftype *cft, + struct seq_file *m) +{ + struct cpuacct *ca = cgroup_ca(cgroup); + u64 percpu; + int i; + + for_each_present_cpu(i) { + percpu = cpuacct_cpuusage_read(ca, i); + seq_printf(m, "%llu ", (unsigned long long) percpu); + } + seq_printf(m, "\n"); + return 0; +} + static struct cftype files[] = { { .name = "usage", .read_u64 = cpuusage_read, .write_u64 = cpuusage_write, }, + { + .name = "usage_percpu", + .read_seq_string = cpuacct_percpu_seq_read, + }, + }; static int cpuacct_populate(struct cgroup_subsys *ss, struct cgroup *cgrp)