On Thu, Feb 09, 2006 at 08:03:26PM +0300, Evgeniy Polyakov wrote: > It is completely different things. > The only common is that they _require_ some kind of notification > mechanism, > but none provide them. > epoll() can not be used for AIO and timers.
True, that is a disappointment. There really should be a timer device in /dev which can be used with all of the possible event mechanism. > AIO can not be used with anything except AIO. Actually, there are patches for generic thread based aio so that other file descriptors can be used for AIO, perhaps they should be dusted off? They're pretty small and easy to understand. Btw, your kevent aio is not interopable with O_DIRECT AIO on files. This is a pretty major setback for quite a few types of high performance servers. > inotify is good, but it can not be used for anything else. Now this is funny! =-) > > > asynchronously from socket's receiving queue from softirq context. > > > > Is there any reason for not using the existing aio read method? > > Current AIO has it's own design which I do not accept completely. > It does not use internal state machines of underlying layers, but instead > repeatedly tries to call nonblocking functions, similar to synchronous > ones. Actually, that behaviour is completely up to the implementor of the aio method. Retry simply happens to be a very simple technique that allows existing code to be easily updated to implement aio. AIO operations can be implemented as a state machine -- the 2.4 codebase did that for file io, and it worked quite well. For something like networking, it could well be the way to go. On the networking front, it would be very useful to have an AIO method to implement zero copy transmit. Most of the pieces are in place with the sendpage code, but the catch is that we would need a destructor to use with data submitted via sendpage. Are you interested in exploring a few more approaches to the design and tie-in with existing kernel AIO? Cheers, -ben -- "Ladies and gentlemen, I'm sorry to interrupt, but the police are here and they've asked us to stop the party." Don't Email: <[EMAIL PROTECTED]>. - 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