Re: Linux Kernel constraints!

Stephen C. Tweedie (sct@redhat.com)
Mon, 25 Jan 1999 18:02:24 GMT


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/