Re: Status of AIO

From: Benjamin LaHaise
Date: Mon Mar 06 2006 - 19:45:30 EST


On Mon, Mar 06, 2006 at 04:24:44PM -0800, David S. Miller wrote:
> > Oh? I've always envisioned that network AIO would be able to use O_DIRECT
> > style zero copy transmit, and something like I/O AT on the receive side.
> > The in kernel API provides a lightweight event mechanism that should work
> > ideally for this purpose.
>
> I think something like net channels will be more effective on receive.

Perhaps, but we don't necessarily have to go to that extreme to get the
value of the approach. One way of doing network receive that would let
us keep the same userland API is to have the kernel perform the receive
portion of TCP processing in userspace as a vsyscall. The whole channel
would then be a concept internal to the kernel. Once that works and the
internals have settled down, it might make sense to export an API that
allows us to expose parts of the channel to the user.

Unfortunately, I think that the problem of getting the packets delivered
to the right user is Hard (especially with incoming filters and all the
other features of the stack).

...
> I want a bonafide networking person to work on any high performance
> networking API we every decide to actually use.

I'm open to suggestions. =-) So far my thoughts have mostly been limited
to how to make tx faster, at which point you have to go into the kernel
somehow to deal with the virtual => physical address translation (be it
with a locked buffer or whatever) and kicking the hardware. Rx has been
much less interesting simply because the hardware side doesn't offer as
much.

-ben
--
"Time is of no importance, Mr. President, only life is important."
Don't Email: <dont@xxxxxxxxx>.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/