Messages in this thread | | | Date | Mon, 25 Jan 1999 18:02:24 GMT | From | "Stephen C. Tweedie" <> | Subject | Re: Linux Kernel constraints! |
| |
Hi,
On Thu, 21 Jan 1999 11:38:55 +0530, Yogesh Bansal <yogesh.bansal@tatainfotech.com> said:
> Recently(dec.) in WindowsNT magazine comparisons/similarities between > various flavours of unix and nt had come. In the same article Linux was > ignored as enterprise os on account of following kernel 'limitations' :
> 1. kernel is not preemptive. ie even a higher priority user thread cant > cause another thread to be swapped if the other thread is presently running > in privileged/kernel context.
By the same argument VMS is not an enterprise system, because above IPL 2 (the level at which the bulk of the kernel runs), you only have cooperative, not preemptive, scheduling, and above IPL 3 you can't reschedule at all. Same as on Linux (where the global kernel lock and the other spinlocks impose similar scheduling constraints).
Sheesh.
This is a feature, not a problem. A fully preemptive kernel is necessary for true realtime, NOT for a server OS. Excessive preemption requries extra locking and it craps up the use of the CPU caches, resulting in overall poorer throughput for a server OS.
> 2. kernel is not reentrant. ie.only one thread in kernel context at a > time. > 3. kernel is not multi processing in the sense that on multiprocessor > systems it will run on only one cpu at a time.
No longer true on 2.2, and although there are still significant bits of the kernel which _are_ serialised, these are getting reduced release by release.
--Stephen
- 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/
| |