Latest AIO patchset

From: Suparna Bhattacharya
Date: Tue Feb 24 2004 - 05:29:40 EST



The latest set of AIO patches are being maintained at:
http://www.kernel.org/pub/linux/kernel/people/suparna/aio/

The patches have been reduced to a minimal set that addresses
the most relevant blocking points. Please let me know if you
think there is a case for bringing in any of the additional
patches.
(The patches need to be applied in the order mention in the
'series' file)

A new addition to the patchset is Chris Mason's nice and simple
implementation of AIO support for pipes using the retry
infrastructure. He also fixed some problems in the AIO cancel
logic to make it play well with retries.

Besides this and some re-organization and cleaning up, there
are a couple of changes since the last set of patches in -mm, that
are worth a mention:

- Upfront readahead is now clipped to the readahead limit for
the device (ra_pages) and happens only for AIO. This helps
address the sendfile regression seen by Felix von Leitner.
If your AIO read requests are likely to exceed the default
readahead size, then use hdparm -a <new size> to tune it.
The patchset also currently includes Ram Pai's adaptive
lazy readahead code which is required for good streaming AIO
read performance.
- David Brownell's suggestion of enabling the fops to set up
their own retry methods. This should make his USB gadgetfs
AIO patch co-exist smoothly with fsaio.

Some basic results are up comparing streaming non-cached random
AIO read/write throughputs for a single ext3 file using aio-stress
for various io sizes with and without these patches, and also
comparsions with O_DIRECT AIO throughputs. The short summary has
been a doubling of throughput using the fsaio patches, which is
also close to the results seen with O_DIRECT AIO.

As usual feedback, bug fixes, test results etc are welcome.

Regards
Suparna

--
Suparna Bhattacharya (suparna@xxxxxxxxxx)
Linux Technology Center
IBM Software Lab, India

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