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