Re: [RFC PATCH 2/2] Add per-cgroup CPU controller statistics

From: Peter Zijlstra
Date: Wed Feb 25 2009 - 06:25:51 EST


On Wed, 2009-02-25 at 16:50 +0530, Bharata B Rao wrote:
> On Wed, Feb 25, 2009 at 12:04:10PM +0100, Peter Zijlstra wrote:
> > On Wed, 2009-02-25 at 16:29 +0530, Bharata B Rao wrote:
> > > From: Balaji Rao <balajirrao@xxxxxxxxx>
> > >
> > > sched: Add cpu controller statistics
> > >
> > > Add per-cgroup cpu controller statistics like system time and user time
> > > consumed by groups of tasks.
> >
> > Do we want this unconditionally?
>
> Not sure if I understand you correctly here, but we are collecting
> stats only when CONFIG_CGROUP_SCHED.
>
> Or do you mean we need a config option to enable stats collection ?
> If so, we have memory controller already providing stats unconditionally.

OK, I guess so ;-)

> > >
> > > +#ifdef CONFIG_CGROUP_SCHED
> > > +static void account_task_group_time(struct task_struct *p,
> > > + enum cpu_cgroup_stat_index idx, int val)
> > > +{
> > > + struct task_group *tg = task_group(p);
> > > +
> > > + if (likely(tg->stat))
> > > + percpu_counter_add(&tg->stat->cpustat[idx], val);
> > > +}
> > > +#else
> > > +#define account_task_group_time(x, y, z) { 0; }
> >
> > inline please, so we get argument validation.
>
> Actually wanted to inline, but one of the arguments (cpu_cgroup_stat_index)
> is defined only CONFIG_CGROUP_SCHED. Hence didn't want argument
> validation here.

Just pull the enum outside of the ifdef?

--
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/