From: Con Kolivas <kernel@kolivas.org>


Reverting the !in_interrupt nonsense should be enough to avoid the dreaded 
screensaver at boottime I hope. Does this fix it?

Starvation will be approached differently.

Change:
Make preemption occur as vanilla again except for now not preempting same 
priority tasks with less timeslice.




 kernel/sched.c |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)

diff -puN kernel/sched.c~o16.3int kernel/sched.c
--- 25/kernel/sched.c~o16.3int	2003-08-30 15:42:07.000000000 -0700
+++ 25-akpm/kernel/sched.c	2003-08-30 15:42:07.000000000 -0700
@@ -609,9 +609,8 @@ repeat_lock_task:
 				__activate_task(p, rq);
 			else {
 				activate_task(p, rq);
-				if (TASK_PREEMPTS_CURR(p, rq) &&
-					(in_interrupt() || !p->mm))
-						resched_task(rq->curr);
+				if (TASK_PREEMPTS_CURR(p, rq))
+					resched_task(rq->curr);
 			}
 			success = 1;
 		}

_