[PATCHSET v6 0/8] Improve async iomap DIO performance

Jens Axboe
2023-07-24T22:55:19Z

Hi,

Hi,

This patchset improves async iomap DIO performance, for XFS and ext4.
For full details on this patchset, see the v4 posting:

https://lore.kernel.org/io-uring/20230720181310.71589-1-axboe@kernel.dk/

fs/iomap/direct-io.c | 163 ++++++++++++++++++++++++++++++++-----------
include/linux/fs.h | 35 +++++++++-
io_uring/rw.c | 26 ++++++-
3 files changed, 179 insertions(+), 45 deletions(-)

Can also be found here:

https://git.kernel.dk/cgit/linux/log/?h=xfs-async-dio.6

No change in performance since last time, and passes my testing without
complaints.

Changes in v6:
- Drop the polled patch, it's not needed anymore
- Change the "inline is safe" logic based on Dave's suggestions
- Gate HIPRI on INLINE_COMP|CALLER_COMP, so polled IO follows the
same rules as inline/deferred completions.
- INLINE_COMP is purely for reads, writes can user CALLER_COMP to
avoid a workqueue punt. This is necessary as we need to invalidate
pages on write completions, and if we race with a buffered reader
or writer on the file.

--
Jens Axboe