Speeding up networking, worth a read.

joerg at britannica.bec.de joerg at britannica.bec.de
Wed Mar 8 17:36:56 PST 2006


On Wed, Mar 08, 2006 at 05:13:44PM -0800, walt wrote:
> I'm just thinking about how to keep software as free from bugs as
> possible.  Linus once said:  'All bugs are shallow, given enough eyes.'
> 
> Wouldn't moving kernel code into userspace increase the number of eyes?

The Thousand Eye Ball Theorem is a very old and very common myth. It
doesn't work in reality for many problems. How many people do you
believe have a reasonable understanding of the internals of TCP/IP, well
enough to trace down bugs in the stack? I don't think very many do. This
equation doesn't change *at all* if the implementation moves to
userland.

That said, VJC argues that the complexity of TCP/IP is partly a result
of having to deal with the kernel buffering. I disagree with that
rhetoric. E.g. the second loop between kernel and userland is tightly
coupled enough that in almost any situation the outer loop is dominating
and the inner loop vanishes effectively. This changes when the link is
fast enough to overpower the local CPU, but the proposed fix is nothing
but a fancy congestation control. That's the technical point where I
disagree :-)

Joerg





More information about the Users mailing list