lkml.org 
[lkml]   [2011]   [Nov]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH UPDATED 03/10] threadgroup: extend threadgroup_lock() to cover exit and exec
Hello, Frederic.

On Fri, Nov 25, 2011 at 03:01:39PM +0100, Frederic Weisbecker wrote:
> > + /*
> > + * @tsk's threadgroup is going through changes - lock out users
> > + * which expect stable threadgroup. Do this before actually
> > + * starting tearing down @tsk so that locked threadgroup has either
> > + * alive or dead tasks, not something inbetween.
> > + */
> > + threadgroup_change_begin(tsk);
> > +
>
> I still wonder why there is a so big coverage of this lock. I mean
> why is it called right before exit_irq_thread() and released so late.
> All we want is to lock cgroup_exit() I think, after which tasks can't be
> migrated.

That way, cgroup plugins never see tasks in the process of
deconstruction. Its ->mm, ->sighand, ->signal and so on either don't
exist or continue to exist across all cgroup callbacks. It's simpler
and safer (especially as bugs in this area would only be visible when
migration and exit race), and if we're gonna synchronize exit path at
all, there isn't anything to lose by excluding the whole thing.

Thanks.

--
tejun


\
 
 \ /
  Last update: 2011-11-27 20:33    [from the cache]
©2003-2014 Jasper Spaans. Advertise on this site