Messages in this thread |  | | | Date | Sat, 6 Dec 2008 23:27:14 -0800 | | From | Andrew Morton <> | | Subject | Re: [patch] export percpu cpuacct cgroup stats | |
On Fri, 5 Dec 2008 10:16:30 -0800 Ken Chen <kenchen@google.com> wrote:
> +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_possible_cpu(i) {
> + spin_lock_irq(&cpu_rq(i)->lock);
> + percpu = *percpu_ptr(ca->cpuusage, i);
> + spin_unlock_irq(&cpu_rq(i)->lock);
> + seq_printf(m, "%llu ", (unsigned long long) percpu);
> + }
> + seq_printf(m, "\n");
> + return 0;
> +}
The locking is only needed for 32-bit, I assume?
The iteration across all possible CPUs seems a bit lame - that code
looks pretty easy to convert to hotplug goodness.
(All of which pertains to existing code, not to this patch).
|  |