With glibc (or more precisely librt), asynchronous I/O is done
with "slave" threads, and hence there is no kernel component.
However, it is advantageous to use "split-phase I/O", so
that the number of outstanding I/Os is not limited by the
number of slave threads as in librt. Split-phase I/o necessarily
involves kernel changes, since the standard system calls such
as read encapsulate both the I/O request & the associated wait.
Have a look at the patch available at http://oss.sgi.com/projects/kaio,
which implements Posix-style AIO with the help of kernel modifications.
ananth.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/