Re: [patch] export percpu cpuacct cgroup stats

From: Andrew Morton
Date: Sun Dec 07 2008 - 02:27:52 EST


On Fri, 5 Dec 2008 10:16:30 -0800 Ken Chen <kenchen@xxxxxxxxxx> 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).
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/