Re: GURU needed: Linux vs. FreeBSD

Andrea Arcangeli (andrea@e-mind.com)
Sat, 21 Nov 1998 18:13:13 +0100 (CET)


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/