I find this to be a pretty interesting idea. Axeld and others may
remember an admin team meeting, some time ago, when I proposed the idea
of implementing networking is user land, using some area tricks to
prevent the need for multiple copies. Axeld very patiently and wisely
reminded me that task switching between the net_server, kernel (for
network card interrupts) and the app would kill the performance. If I
had taken the idea to the logical extension that Van here came to, I
could have been on lwn! :-)
Actually, this sort of ties into the buffering question, too.
Hi,
I don't even really follow the development anymore let alone develop, but I just wanted to make sure you'd seen the recent discussion of Van Jacobson's net channels. The talk was presented at Linux.conf.au and covered moving the key parts of the network stack into userspace to avoid lock contention.
This design seems like the BeOS way, it gives much higher throughput and allows for way better scalability on N-way systems.
There is certainly merit in going with what works and hase been done before. But it just seems like you have no legacy problems to trying this fresh new idea. Linux can't do it since it needs to stay compatible with netfilter/iptables/...
A good first read on the subject is here http://lwn.net/Articles/169961/
Tom Young