Q: cgroup: Questions about possible issues in cgroup locking

Oleg Nesterov oleg at redhat.com
Thu Dec 22 15:30:04 UTC 2011


On 12/21, Frederic Weisbecker wrote:
>
> On Wed, Dec 21, 2011 at 11:24:13AM -0800, Mandeep Singh Baines wrote:
> >
> > If you call exec from a thread other than g, g is now unlinked. So
> > "t != g" will always be true. If you then pthread_create, you now
> > have two threads so "t != __prev" will also always be true. So
> > you now have an infinite loop.
>
> Oh you're right.
>
> But then we can't use t != t->group_leader because that assumes while_each_thread()
> started on the leader.

Yes, this can't work.

Besides, we need more burriers to rely on the ->group_leader check.

See http://marc.info/?t=127688987300002

in particular, http://marc.info/?l=linux-kernel&m=127714242731448
I think this should work, but then we should do something with the
users like zap_threads().

Oleg.



More information about the Containers mailing list