All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH for-next 0/4] io_uring: registered huge buffer optimisations
@ 2023-02-22 14:36 Pavel Begunkov
  2023-02-22 14:36 ` [PATCH for-next 1/4] io_uring/rsrc: disallow multi-source reg buffers Pavel Begunkov
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ messages in thread
From: Pavel Begunkov @ 2023-02-22 14:36 UTC (permalink / raw)
  To: io-uring; +Cc: Jens Axboe, asml.silence, linux-kernel

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


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2023-03-16 12:27 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-02-22 14:36 [PATCH for-next 0/4] io_uring: registered huge buffer optimisations Pavel Begunkov
2023-02-22 14:36 ` [PATCH for-next 1/4] io_uring/rsrc: disallow multi-source reg buffers Pavel Begunkov
2023-02-22 14:36 ` [PATCH for-next 2/4] io_uring/rsrc: fix a comment in io_import_fixed() Pavel Begunkov
2023-02-22 14:36 ` [PATCH for-next 3/4] io_uring/rsrc: optimise single entry advance Pavel Begunkov
2023-02-22 14:36 ` [PATCH for-next 4/4] io_uring/rsrc: optimise registered huge pages Pavel Begunkov
2023-03-16 12:12   ` Mark Rutland
2023-03-16 12:26     ` Pavel Begunkov
2023-02-22 17:48 ` (subset) [PATCH for-next 0/4] io_uring: registered huge buffer optimisations Jens Axboe

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.