Asynchronous IO on Linux

Bill Bogstad bogstad-e+AXbWqSrlAAvxtiuMwx3w at public.gmane.org
Fri May 6 15:02:21 EDT 2011


On Fri, May 6, 2011 at 10:47 AM, Mark Woodward <markw-FJ05HQ0HCKaWd6l5hS35sQ at public.gmane.org> wrote:
> A while ago, I wrote an asynchronous file I/O system for Linux, I
> basically needed too because the posix AIO was so limited.
>
> I wrote mine using threads, one thread per file, and one event per
> thread. It seems pretty good. Works fairly well, more or less portable
> even. (I've tested it on Windows, Mac, and Linux)
>
> My question, is AIO on Linux ever going to become a robust system that
> works on all file types?

Not unless you go bother people on the linux-kernel mailing list. :-)

It sounds like you have an API which works for you.   I would compare it to the
Linux API (not POSIX API) and see what isn't possible.   Since you have actual
use cases, you have some shot at getting people to pay attention.  (OTOH, they
will want you to do the kernel implementation yourself. :-)

If the issue isn't the Linux API, but the fact it doesn't work on all of the
file types then you might be able to get the appropriate maintainers to
do it just to make things more consistent across the whole kernel.


>Would using kernel based AIO on Linux perform
> any better than merely a thread based system? (provided what you are
> doing maps to kernel AIO)

If you have multiple reader/writer processes of the same files then
kernel AIO might
do caching/readahead better through more sharing of memory, etc.

Bill Bogstad




More information about the Discuss mailing list