I just did a rough port of the raw device part of the aio-20020619.diff over to 2.5.32 using the 2.5 aio API published so far. The changeset comments are below. The patch hasn't been tested. Its only guaranteed to compile. I'd like to reiterate that this is not a fork of aio kernel code development or any attempt to question Ben's role as maintainer ! This was only an exercise in porting to enable a comparison of the older (2.4) approach with whatever's coming soon. Comments are invited on all aspects of the design and implementation. - Shailabh # This changeset provides a partial port of Ben LaHaise's asynchronous # I/O patch for 2.4 kernel to 2.5. The port conforms to the aio API # included in 2.5.32 and uses the design, data structures and functions # of the aio-20020619.diff.txt patch. # What this patch does # - implements aio read/write for raw devices # - provides the kvec data structure and helper functions # - conforms to the kiocb data structure provided in the 2.5.32 aio API # What this patch doesn't do # - support read/write for regular files (including those opened with # O_DIRECT), pipes, sockets. # - use the dio related functions providing O_DIRECT support. # - change any of the synchronous read/write functions. # - allow large transfers (> 128 KB) which were done in 2.4 using the # generic_aio_next_chunk function and kiocb->u task queue. # # The intent of providing this patch is to allow a performance # comparison of the aio design provided in 2.4 with any forthcoming # design in 2.5. Hopefully it will lead to an estimate of the # performance impact of keeping the async and sync I/O paths separate. # To have a fair comparison, its probably necessary for this code to # use bios directly rather than buffer heads, allow large I/O's etc. # The comparison will also be more complete if the missing 2.4 # functionality (regular files, pipes....) is ported over too. # # It is NOT intended to fork aio kernel code development or to suggest # an alternate design for 2.5 aio kernel support. # # Comments, suggestion for changes welcome. # # - Shailabh Nagar (nagar@watson.ibm.com)