| From: Thomas Gleixner <tglx@linutronix.de> | 
 | Date: Fri, 3 Jul 2009 08:44:44 -0500 | 
 | Subject: signals: Do not wakeup self | 
 |  | 
 | Signals which are delivered by current to current can do without | 
 | waking up current :) | 
 |  | 
 | Signed-off-by: Thomas Gleixner <tglx@linutronix.de> | 
 |  | 
 | --- | 
 |  kernel/signal.c |    3 +++ | 
 |  1 file changed, 3 insertions(+) | 
 |  | 
 | Index: linux-stable/kernel/signal.c | 
 | =================================================================== | 
 | --- linux-stable.orig/kernel/signal.c | 
 | +++ linux-stable/kernel/signal.c | 
 | @@ -684,6 +684,9 @@ void signal_wake_up(struct task_struct * | 
 |   | 
 |  	set_tsk_thread_flag(t, TIF_SIGPENDING); | 
 |   | 
 | +	if (unlikely(t == current)) | 
 | +		return; | 
 | + | 
 |  	/* | 
 |  	 * For SIGKILL, we want to wake it up in the stopped/traced/killable | 
 |  	 * case. We don't check t->state here because there is a race with it |