Messages in this thread Patch in this message | | | Date | Sat, 21 Nov 1998 18:13:13 +0100 (CET) | From | Andrea Arcangeli <> | Subject | Re: GURU needed: Linux vs. FreeBSD |
| |
On Thu, 5 Nov 1998, Alan Cox wrote:
>The first one is showing Linux waiting for the controller I/O a long time >and the I/O or controller being slow. So Linux slept most of it (but thats >also time that other processes could use), the IDE one was a faster transfer
Wrong (or better the other process sometimes was idle ;-). It' s the scheduler that' s buggy. My latest arca-2x patches are fixed. Here the patch from my latest tree:
Index: linux/kernel/sched.c diff -u linux/kernel/sched.c:1.1.1.1 linux/kernel/sched.c:1.1.1.1.2.10 --- linux/kernel/sched.c:1.1.1.1 Fri Nov 20 00:01:12 1998 +++ linux/kernel/sched.c Sat Nov 21 14:45:43 1998 @@ -135,8 +138,15 @@ } #endif #endif - if (p->policy != SCHED_OTHER || p->counter > current->counter + 3) - current->need_resched = 1; + /* + * If the current process is the idle one, we must reschedule ASAP. + * Checking for p->counter >= current->counter we have the idle task + * check implicit. + * -arca + */ + if (/* implicit !current->pid || */ p->counter >= current->counter || + p->policy != SCHED_OTHER) + current->need_resched = 1; } /*
Andrea Arcangeli
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |