My impression is that /dev/epoll is the best for sockets at the moment, and
that several people are using it happily now. (The interface is
still in flux, I think, so only use it now if you don't mind that.)
However, for disk I/O, IMHO you really want aio instead.
If you need aio now, SGI's kaio patch is available and is said to work well
(and heck, there's also a userland emulation in glibc, but I
suspect it doesn't perform well).
For the future, Ben LaHaise's aio may have better performance when it's done
( http://uwsg.iu.edu/hypermail/linux/kernel/0102.0/0459.html );
he's going to do things like async sendfile, and is willing to provide a nonposix
interface for those who don't want signal delivery's overhead
(see http://uwsg.iu.edu/hypermail/linux/kernel/0102.0/0384.html
and http://www.kvack.org/~blah/aio/v2.4.5-ac9-bcrl4-aio.diff )
I suspect both /dev/epoll and LaHaise's aio will end up being integrated
into the stock 2.5 kernel. And if we're really lucky, there will be
a single integrated event stream for both. I'm quite annoyed
that Posix defines separate polling methods for file descriptors
and aio completions (http://www.opengroup.org/onlinepubs/7908799/xsh/aio_suspend.html);
if one simple interface can handle both, we ought to try to do it.
- Dan "but I play one on TV" Kegel
-- "Computers are state machines. Threads are for people who can't program state machines." - Alan Cox - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/