On Tue, 1 Nov 2011 16:46:26 -0700 Tejun Heo <tj@xxxxxxxxxx> wrote: > threadgroup_lock() protected only protected against new addition to > the threadgroup, which was inherently somewhat incomplete and > problematic for its only user cgroup. On-going migration could race > against exec and exit leading to interesting problems - the symmetry > between various attach methods, task exiting during method execution, > ->exit() racing against attach methods, migrating task switching basic > properties during exec and so on. > > This patch extends threadgroup_lock() such that it protects against > all three threadgroup altering operations - fork, exit and exec. For > exit, threadgroup_change_begin/end() calls are added to exit path. > For exec, threadgroup_[un]lock() are updated to also grab and release > cred_guard_mutex. > > With this change, threadgroup_lock() guarantees that the target > threadgroup will remain stable - no new task will be added, no new > PF_EXITING will be set and exec won't happen. > > The next patch will update cgroup so that it can take full advantage > of this change. > > Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> > Cc: Oleg Nesterov <oleg@xxxxxxxxxx> > Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > Cc: Paul Menage <paul@xxxxxxxxxxxxxx> > Cc: Li Zefan <lizf@xxxxxxxxxxxxxx> Reviewed-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/linux-pm