The filesystem AIO patchset --------------------------- Buffered filesystem AIO (i.e. AIO reads/writes to files opened without O_DIRECT) is still synchronous (io_submit blocks till I/O is completed before returning) in the current 2.6.x kernels. This set of patches makes AIO reads/writes asynchronous using a retry-based model that converts major blocking points (waits for data blocks to be read in and written out) in the read/write path to retry-exits. Filesystems supported currently are ext2, ext3, jfs, xfs. (See the AIO web page at http://lse.sf.net/io/aio.html for the status of AIO in the mainline kernel and links to papers, tests and other references) Patches should be applied in the order specified in the series file. You'll need to compile your applications with libaio to use AIO. The patches are grouped under the following categories: - minimal Minimal set of patches covering the core infrastructure and converting the most significant blocking points seen during early testing, i.e. waiting for pages to become uptodate during a read, and waiting for pages to complete writeback during an O_SYNC write. - addon Patches that address more blocking points, like: - waiting to read existing disk blocks to do partial block writes - waiting in blk_congestion_wait in the write path - waiting in get block in prepare_write (ext2 only) slides/ : has some of the slides we presented during the AIO talks at OLS 2003 and OLS 2004