A kernel level message passing service

Kragen Sitaker kragen at pobox.com
Fri Sep 1 19:48:40 PDT 2000

Mark Hahn writes:
> the justification offered is that http is just another filesystem,
> and since we have NFS in the kernel, why not khttpd?  but putting 
> hhttpd in the kernel is nothing short of an admission
> that Linux user-space is not viable in performance.

The reason that Linux is not a microkernel OS is that running stuff
split between kernel and userspace in Linux is slower than running it
completely in the kernel.  Is there anyone that still doubts that?

You could say the same thing for almost anything that's in the kernel:
the TCP/IP stack, memory management, filesystems in general, swapping.
In every case, including this one, you would be essentially right, but
still overstating the case.

Just because context switches between the kernel and userspace are
expensive does not mean that nothing should run in userspace.  It just
means that when you're aiming for balls-to-the-wall performance,
kernel-space is a productive last-resort option.

<kragen at pobox.com>       Kragen Sitaker     <http://www.pobox.com/~kragen/>
Perilous to all of us are the devices of an art deeper than we ourselves
                -- Gandalf the Grey [J.R.R. Tolkien, "Lord of the Rings"]

More information about the Beowulf mailing list