Re: Linux Kernel constraints!

Oliver Xymoron (oxymoron@waste.org)
Thu, 21 Jan 1999 14:11:15 -0600 (CST)


On Thu, 21 Jan 1999, Yogesh Bansal wrote:

> 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.

Not true. All things that are not running with interrupts disabled can be
preempted.

> 2. kernel is not reentrant. ie.only one thread in kernel context at a time.

Pfft. This is absurd. Every process that is blocked on I/O is _in kernel
context_. This is the way UNIX works.

> 3. kernel is not multi processing in the sense that on multiprocessor
> systems it will run on only one cpu at a time.

And this is even more absurd. SMP is _symmetric_. Kernel runs on all
processors _by definition_. There may be some confusion here with respect
to lock granularity though. The very first SMP kernels had a single lock
that protected most data structures, which drastically limited kernel
concurrency. Current kernels have more fine-grained locking that allow
much better concurrency and therefore better scaling.

--
 "Love the dolphins," she advised him. "Write by W.A.S.T.E.." 

- 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/