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).
| |