For the grand introduction to this feature, see my original posting here: https://lore.kernel.org/linux-block/20181117235317.7366-1-axboe@xxxxxxxxx/ and refer to the previous postings of this patchset for whatever features were added there. Particularly v4 has some performance results: https://lore.kernel.org/linux-block/20181130165646.27341-1-axboe@xxxxxxxxx/ No new features in this version, I think we've got what we need. Just a collection of fixes. Especially interesting is probably that XFS is tested in all configurations now, it works with both IO polling and fixed user buffers. Find it here for your cgit browsing: http://git.kernel.dk/cgit/linux-block/log/?h=aio-poll or clone/pull from this branch: git://git.kernel.dk/linux-block aio-poll Since v5 - Correct spin/no-spin condition for polling - Add some comments - Fix missing io_event_ring(2) if !CONFIG_AIO - Make sure XFS works for all cases - Fix cq/sq ring sizing - Make cq/sq ring work with non-polled IO - Make cq/sq ring work without fixed buffers - Ensure that io_ring_enter() doesn't race with kill_ioctx() - Rebase on top of for-4.21/block Documentation/filesystems/vfs.txt | 3 + arch/x86/entry/syscalls/syscall_64.tbl | 2 + block/bio.c | 33 +- fs/aio.c | 1538 +++++++++++++++++++++--- fs/block_dev.c | 34 +- fs/file.c | 15 +- fs/file_table.c | 10 +- fs/gfs2/file.c | 2 + fs/iomap.c | 57 +- fs/xfs/xfs_file.c | 1 + include/linux/bio.h | 1 + include/linux/blk_types.h | 2 + include/linux/file.h | 2 + include/linux/fs.h | 5 +- include/linux/iomap.h | 1 + include/linux/syscalls.h | 5 + include/uapi/asm-generic/unistd.h | 4 +- include/uapi/linux/aio_abi.h | 32 + kernel/sys_ni.c | 2 + 19 files changed, 1552 insertions(+), 197 deletions(-) -- Jens Axboe