For some reason the patch series didn't reach the mailing list. Resending.

Every AioContext has an io_uring context for file descriptor monitoring. In
addition, block/io_uring.c also has an io_uring context for disk I/O. This
patch series eliminates the extra io_uring context so that AioContext has a
single io_uring context.

Patch 2 introduces the aio_add_sqe() API for submitting custom io_uring SQEs.
Patch 3 then replaces its io_uring context with the aio_add_sqe() API so that
disk I/O requests share the AioContext's io_uring context.

I will post performance results when they become available.

Based-on: 20250326183340.1010531-1-stefa...@redhat.com

Stefan Hajnoczi (3):
  aio-posix: treat io_uring setup failure as fatal
  aio-posix: add aio_add_sqe() API for user-defined io_uring requests
  block/io_uring: use aio_add_sqe()

 include/block/aio.h     |  74 +++++-
 include/block/raw-aio.h |   5 -
 util/aio-posix.h        |   1 +
 block/file-posix.c      |  25 +-
 block/io_uring.c        | 489 ++++++++++------------------------------
 stubs/io_uring.c        |  32 ---
 util/aio-posix.c        |   9 +
 util/async.c            |  35 ---
 util/fdmon-io_uring.c   | 155 +++++++++----
 block/trace-events      |  12 +-
 stubs/meson.build       |   3 -
 util/trace-events       |   4 +
 12 files changed, 316 insertions(+), 528 deletions(-)
 delete mode 100644 stubs/io_uring.c

-- 
2.49.0


Reply via email to