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

Reply via email to