Re: [PATCH] O16.2int

From: Con Kolivas
Date: Sun Aug 17 2003 - 09:56:14 EST


On Sun, 17 Aug 2003 17:40, Andrew Morton wrote:
> Con Kolivas <kernel@xxxxxxxxxxx> wrote:
> > Much simpler
>
> But broken.
>
> The machine runs about 100x slower than normal. The screensaver cut in
> halfway through the initscripts ;) That's on 2-way. The same kernel works
> OK on uniprocessor.

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.

Con
--- linux-2.6.0-test3-mm2-O16.2/kernel/sched.c 2003-08-18 00:03:53.000000000 +1000
+++ linux-2.6.0-test3-mm2-O16.3/kernel/sched.c 2003-08-18 00:44:20.000000000 +1000
@@ -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;
}