From: Nick Piggin <piggin@cyberone.com.au>

Ensure an RT task of preempting priority is given the CPU as soon as
possible after a sync wakeup.



---

 kernel/sched.c |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

diff -puN kernel/sched.c~sched-sync-rt-wakeup-fix kernel/sched.c
--- 25/kernel/sched.c~sched-sync-rt-wakeup-fix	2004-01-15 20:04:52.000000000 -0800
+++ 25-akpm/kernel/sched.c	2004-01-15 20:04:52.000000000 -0800
@@ -757,7 +757,7 @@ out_activate:
 		p->activated = -1;
 	}
 
-	if (sync && cpu == this_cpu) {
+	if (sync && cpu == this_cpu && likely(!rt_task(p))) {
 		__activate_task(p, rq);
 	} else {
 		activate_task(p, rq);

_