mbox series

[liburing,0/2] liburing IORING_SETUP_NO_SQARRAY support

Message ID cover.1695988793.git.asml.silence@gmail.com (mailing list archive)
Headers show
Series liburing IORING_SETUP_NO_SQARRAY support | expand

Message

Pavel Begunkov Sept. 29, 2023, 12:09 p.m. UTC
Patch 1 adds support for IORING_SETUP_NO_SQARRAY, i.e. not using and
mmaping the first SQ indirection level sq_array.

Patch 2 defaults liburing to using IORING_SETUP_NO_SQARRAY. If it's
not supported by the kernel we'll fallback to a setup without the
flag. If the user specifically asks for IORING_SETUP_NO_SQARRAY,
it'll also fail if the feature is unsupported.

Note: two tests need sqarray, and so there is a new helper
__io_uring_queue_init_params(), which is not static but not
exported by the library. Further, we don't declare it in
liburing.h but only under tests to prevent misuse.

Pavel Begunkov (2):
  setup: add IORING_SETUP_NO_SQARRAY support
  setup: default to IORING_SETUP_NO_SQARRAY

 src/include/liburing/io_uring.h |  5 ++++
 src/setup.c                     | 42 +++++++++++++++++++++++++--------
 test/accept-reuse.c             |  2 +-
 test/helpers.h                  | 13 ++++++++++
 test/io_uring_enter.c           |  7 ++++--
 5 files changed, 56 insertions(+), 13 deletions(-)

Comments

Jens Axboe Oct. 18, 2023, 3:40 p.m. UTC | #1
On Fri, 29 Sep 2023 13:09:39 +0100, Pavel Begunkov wrote:
> Patch 1 adds support for IORING_SETUP_NO_SQARRAY, i.e. not using and
> mmaping the first SQ indirection level sq_array.
> 
> Patch 2 defaults liburing to using IORING_SETUP_NO_SQARRAY. If it's
> not supported by the kernel we'll fallback to a setup without the
> flag. If the user specifically asks for IORING_SETUP_NO_SQARRAY,
> it'll also fail if the feature is unsupported.
> 
> [...]

Applied, thanks!

[1/2] setup: add IORING_SETUP_NO_SQARRAY support
      commit: 74c1191cbfa2b552b3ceaa63386d871c2d5d2136
[2/2] setup: default to IORING_SETUP_NO_SQARRAY
      commit: 3401b06c5e8291a2ad946bb181ab347f18a4c8c3

Best regards,