On Fri, Apr 28, 2006 at 10:41:18AM -0700, Stephen Hemminger ([EMAIL PROTECTED]) wrote: > On Fri, 28 Apr 2006 21:29:32 +0400 > Evgeniy Polyakov <[EMAIL PROTECTED]> wrote: > > > On Fri, Apr 28, 2006 at 10:18:33AM -0700, Stephen Hemminger ([EMAIL > > PROTECTED]) wrote: > > > Please just use existing AIO interface. We don't need another > > > interface. The number of interfaces increases the exposed bug > > > surface geometrically. Which means for each new interface, it > > > means testing and fixing bugs in every possible usage. > > > > Networking AIO? Like [1] :) > > That would be really good. > > > > 1. http://tservice.net.ru/~s0mbre/old/?section=projects&item=naio > > > > The existing infrastructure is there in the syscall layer, it just > isn't really AIO for sockets. That naio project has two problems, first > they require driver changes, and he is doing it on the stupidest > of hardware, optimizing a 8139too is foolish.
No, it does not. You confuse it with receiving zero-copy support which allows to DMA data directly into VFS cache [1]. NAIO works for any kind of hardware and was tested with e1000 and showed noticeble win in both CPU usage and network performance. > Second, introducing > kevents, seems unnecessary and hasn't been accepted in the mainline. kevent was never sent to lkml@ although it showed over 40% win over epoll for test web server. Sending it to lkml@ is just jumping into ... not into technical world, so I posted it first here, but without much attention though. > The existing linux AIO model seems sufficient: > http://lse.sourceforge.net/io/aio.html > > There is work to put true Posix AIO on top of this. There are a lot of discussions about combining AIO with epoll and combine them into something similar to kevent which allows to monitor level and edge triggered events, to create proper state machine for AIO compeltions. kevent [2] does exactly that. AIO works not as state machine, but it's repeated-check design is more like postponing work from one context to special thread. 1. receiving zero-copy support http://tservice.net.ru/~s0mbre/old/?section=projects&item=recv_zero_copy 2. kevent system http://tservice.net.ru/~s0mbre/old/?section=projects&item=kevent -- Evgeniy Polyakov - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html