• O
    [PATCH] do __unhash_process() under ->siglock · 5876700c
    Oleg Nesterov 提交于
    This patch moves __unhash_process() call from realease_task() to
    __exit_signal(), so __detach_pid() is called with ->siglock held.
    
    This means we don't need tasklist_lock to iterate over thread group anymore:
    
    	copy_process() was already changed to do attach_pid()
    	under ->siglock.
    
    	Eric's "pidhash-kill-switch_exec_pids.patch" from -mm
    	changed de_thread() so it doesn't touch PIDTYPE_TGID.
    
    NOTE: de_thread() still needs some attention.  It still changes task->pid
    lockless.  Taking ->sighand.siglock here allows to do more tasklist_lock
    removals.
    Signed-off-by: NOleg Nesterov <oleg@tv-sign.ru>
    Signed-off-by: NAndrew Morton <akpm@osdl.org>
    Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
    5876700c
exit.c 41.3 KB