Prev: [PATCH 0/4] signal_struct->count must die, initial changes
Next: [PATCH 2/4] exit: change zap_other_threads() to count sub-threads
From: Oleg Nesterov on 17 Mar 2010 15:40 Now that Veaceslav changed copy_signal() to use zalloc(), exit_notify() can just check notify_count < 0 to ensure the execing sub-threads needs the notification from us. No need to do other checks, notify_count != 0 must always mean ->group_exit_task != NULL is waiting for us. Signed-off-by: Oleg Nesterov <oleg(a)redhat.com> --- kernel/exit.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) --- 34-rc1/kernel/exit.c~1_EXIT_NOTIFY 2010-03-17 19:10:28.000000000 +0100 +++ 34-rc1/kernel/exit.c 2010-03-17 19:17:39.000000000 +0100 @@ -857,12 +857,9 @@ static void exit_notify(struct task_stru tsk->exit_state = signal == DEATH_REAP ? EXIT_DEAD : EXIT_ZOMBIE; - /* mt-exec, de_thread() is waiting for us */ - if (thread_group_leader(tsk) && - tsk->signal->group_exit_task && - tsk->signal->notify_count < 0) + /* mt-exec, de_thread() is waiting for group leader */ + if (unlikely(tsk->signal->notify_count < 0)) wake_up_process(tsk->signal->group_exit_task); - write_unlock_irq(&tasklist_lock); tracehook_report_death(tsk, signal, cookie, group_dead); -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |