Re: [PATCH] O16.2int

Con Kolivas
2003-08-17T14:52:36Z

[-- Attachment #1: Type: text/plain, Size: 594 bytes --]

On Sun, 17 Aug 2003 17:40, Andrew Morton wrote:
> Con Kolivas <kernel@kolivas.org> 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

[-- Attachment #2: patch-O16.2-O16.3int --]
[-- Type: text/x-diff, Size: 468 bytes --]

--- 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;
}