[PATCH for-next 0/4] io_uring: registered huge buffer optimisations

From: Pavel Begunkov
Date: Wed Feb 22 2023 - 09:39:23 EST


Improve support for registered buffers consisting of huge pages by
keeping them as a single element bvec instead of chunking them into
4K pages. It improves performance quite a bit cutting CPU cycles on
dma-mapping and promoting a more efficient use of hardware.

With a custom fio/t/io_uring 64K reads benchmark with multiple Optanes
I've got 671 -> 736 KIOPS improvement (~10%).

Pavel Begunkov (4):
io_uring/rsrc: disallow multi-source reg buffers
io_uring/rsrc: fix a comment in io_import_fixed()
io_uring/rsrc: optimise single entry advance
io_uring/rsrc: optimise registered huge pages

io_uring/rsrc.c | 58 ++++++++++++++++++++++++++++++++++++++-----------
1 file changed, 45 insertions(+), 13 deletions(-)

--
2.39.1