Messages in this thread Patch in this message | | | From | Con Kolivas <> | Subject | Re: [PATCH] O16.2int | Date | Mon, 18 Aug 2003 00:59:07 +1000 |
| |
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 --- 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; } | |