[lkml]   [2011]   [Nov]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH 03/10] threadgroup: extend threadgroup_lock() to cover exit and exec
On Tue,  1 Nov 2011 16:46:26 -0700
Tejun Heo <> 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 <>
> Cc: Oleg Nesterov <>
> Cc: Andrew Morton <>
> Cc: Paul Menage <>
> Cc: Li Zefan <>

Reviewed-by: KAMEZAWA Hiroyuki <>

 \ /
  Last update: 2011-11-04 09:49    [W:0.211 / U:55.128 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site