> > > Really? It says in the FAQs that they are staying in user land. > > Besides, much of the overhead with net_server is not context switch > > overhead. app_server has the same kind of ops and low latency. What > > killed net_server's performance was the truly enormous number of > > copies > > (I think it was in the double digits) that it made of *every* piece > > of > > data that went through it. BONE was a one copy (memory->net card) > > stack, and was made as close to zero-copy as humanly possible, > > which > > is > > responsible for much of its performance. > > Yes, the FAQ is outdated; it was originally planned to implement a > user > -land stack. > > And although the number of copies is huge for the net_server, this > could be fixed with a better implementation. And if the Net API would > do it right, real zero-copy would be possible, which is not with the > BSD API. > > But the context switch overhead and the fact, that Travis is already > working on a networking stack in kernel-space lead to the conclusion > that it makes more sense to follow that route. Now, Axel, say if Zoidberg does a userland net stack... as we were already planning to do. I think we could do this properly, don't you? :P -Nathan -- Fortune Cookie Says: Don't steal; thou'lt never thus compete successfully in business. Cheat. -- Ambrose Bierce