LWN.net Logo

signal-latency-2.5.69-B0

From:  Ingo Molnar <mingo@elte.hu>
To:  linux-kernel@vger.kernel.org
Subject:  [patch] signal-latency-2.5.69-B0
Date:  Mon, 26 May 2003 11:55:20 +0200 (CEST)
Cc:  Linus Torvalds <torvalds@transmeta.com>


the attached patch, against BK-curr, further optimizes the 'kick wakeup'
scheduler feature:

 - do not kick any CPU on UP

 - no need to mark the target task for reschedule - it's enough to send an 
   interrupt to that CPU, that will initiate a signal processing pass.

tested on x86 SMP and UP.

	Ingo

--- linux/kernel/sched.c.orig
+++ linux/kernel/sched.c
@@ -500,9 +500,12 @@ repeat_lock_task:
 					resched_task(rq->curr);
 			}
 			success = 1;
-		} else
-			if (unlikely(kick) && task_running(rq, p))
-				resched_task(rq->curr);
+		}
+#if CONFIG_SMP
+	       	else
+			if (unlikely(kick) && task_running(rq, p) && (p->thread_info->cpu != smp_processor_id()))
+				smp_send_reschedule(p->thread_info->cpu);
+#endif
 		p->state = TASK_RUNNING;
 	}
 	task_rq_unlock(rq, &flags);

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Copyright © 2003, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds