Re: [PATCH 4/4] cgroup: always lock threadgroup during migration

From: Tejun Heo
Date: Mon Oct 10 2011 - 13:31:18 EST


On Sun, Sep 18, 2011 at 07:41:17PM +0200, Oleg Nesterov wrote:
> On 09/05, Tejun Heo wrote:
> >
> > * Remove -ESRCH failure path from cgroup_task_migrate(). With the
> > above changes, it's guaranteed to be called only for live tasks.
>
> I think you can remove another similar check,
>
> > @@ -2044,6 +2044,10 @@ int cgroup_attach_proc(struct cgroup *cgrp, struct task_struct *leader)
> > tsk = leader;
> > i = 0;
> > do {
> > + /* @tsk either already exited or can't exit until the end */
> > + if (tsk->flags & PF_EXITING)
> > + continue;
> > +
> > /* as per above, nr_threads may decrease, but not increase. */
> > BUG_ON(i >= group_size);
> > get_task_struct(tsk);
>
> And then cgroup_attach_proc() does
>
> for (i = 0; i < group_size; i++) {
> ...
> task_lock(tsk);
> if (tsk->flags & PF_EXITING) {
> task_unlock(tsk);
> continue;
>
> Afaics, this is no longer needed.

Indeed, removed.

Thank you.

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