[OFFTOPIC] Re: Linux Kernel constraints!

pleXus (plexus@ionet.net)
Sat, 23 Jan 1999 02:56:59 -0700


>On Thu, 21 Jan 1999, Yogesh Bansal wrote:
>
>> 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.
>

Ahem. This is referring (in BOTH instances) to process/thread level. No
'thread' can. if you want to include via hooking an interrupt so be it, but
don't you think that's a little beyond the argument on either system?

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

Pfft.. Oh dear, it's been weeks since I laughed. I think this was referring
to re-entrancy of and in the kernel.

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

Can someone more knowledgeable explain to me whether or not the KERNEL runs
on more than one processor.. I am curious, because that would be
interesting to hear.

- ely

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