Messages in this thread | | | Subject | Re: [RFC PATCH 2/2] Add per-cgroup CPU controller statistics | From | Peter Zijlstra <> | Date | Wed, 25 Feb 2009 12:24:58 +0100 |
| |
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@gmail.com> > > > > > > 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?
| |