On 09/20/2012 02:43 AM, Tejun Heo wrote: > + > +void task_group_charge(struct task_struct *tsk, u64 cputime) > +{ > + struct task_group *tg; > + int cpu = task_cpu(tsk); > + > + rcu_read_lock(); > + > + tg = container_of(task_subsys_state(tsk, cpu_cgroup_subsys_id), > + struct task_group, css); > + > + for (; tg; tg = tg->parent) { > + u64 *cpuusage = per_cpu_ptr(tg->cpuusage, cpu); > + *cpuusage += cputime; > + } > + > + rcu_read_unlock(); > +} > #endif /* CONFIG_CGROUP_SCHED */ The whole point of this merge is that this is not needed. This information is already available from exec_clock for fair tasks. for rt tasks, we have no exec clock, but do have a hierarchy walk a bit below the current cpuacct charge, that can be used for that purpose. _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/containers