On Thursday 02 February 2006 00:08, Jeff Garzik wrote:

> Definitely not.  POSIX AIO is far more complex than the operation
> requires,

Ah, I sense strong a NIH field.

> and is particularly bad for implementations that find it wise 
> to queue a bunch of to-be-filled buffers. 

Why? lio_listio seems to be very well suited for that task to me.


> Further, the current 
> implementation of POSIX AIO uses a thread for almost every I/O, which is
> yet more overkill.

That's just an implementation detail of the current Linux aio.

> A simple mmap'd ring buffer is much closer to how the hardware actually
> behaves.  It's no surprise that the "ring buffer / doorbell" pattern
> pops up all over the place in computing these days.

If you really want you can just fill in the pointer to the lio list
into a mmaped ring buffer. This can be hidden between the POSIX interfaces.
[I think Ben's early kernel aio had support for that, but it was
eliminated as unneeded complexity]

> Getting the TCP receive path out of the kernel isn't a requirement, just
> an improvement.

It's not clear to me yet how this is an improvement.

> But people who care about the performance of their networking apps are
> likely to want to switch over to this new userspace networking API, over
> the next decade, I think.

POSIX aio has the advantage that it already works on some other Unixes
and some big applications have support for it that just needs to be enabled
with the right ifdef.

-Andi
-
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