[PATCH] remove unneeded sig->curr_target recalculation
Oleg Nesterov [Sun, 8 Jan 2006 09:03:28 +0000 (01:03 -0800)]
This patch removes unneeded sig->curr_target recalculation under 'if
(atomic_dec_and_test(&sig->count))' in __exit_signal().

When sig->count == 0 the signal can't be sent to this task and
next_thread(tsk) == tsk anyway.

Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

kernel/signal.c

index 114cf92..08aa5b2 100644 (file)
@@ -364,8 +364,6 @@ void __exit_signal(struct task_struct *tsk)
        posix_cpu_timers_exit(tsk);
        if (atomic_dec_and_test(&sig->count)) {
                posix_cpu_timers_exit_group(tsk);
-               if (tsk == sig->curr_target)
-                       sig->curr_target = next_thread(tsk);
                tsk->signal = NULL;
                __exit_sighand(tsk);
                spin_unlock(&sighand->siglock);