public inbox for [email protected]
 help / color / mirror / Atom feed
* [PATCH liburing 0/2] liburing IORING_SETUP_NO_SQARRAY support
@ 2023-09-29 12:09 Pavel Begunkov
  2023-09-29 12:09 ` [PATCH liburing 1/2] setup: add " Pavel Begunkov
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Pavel Begunkov @ 2023-09-29 12:09 UTC (permalink / raw)
  To: io-uring; +Cc: Jens Axboe, asml.silence

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(-)

-- 
2.41.0


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

end of thread, other threads:[~2023-10-18 15:40 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-09-29 12:09 [PATCH liburing 0/2] liburing IORING_SETUP_NO_SQARRAY support Pavel Begunkov
2023-09-29 12:09 ` [PATCH liburing 1/2] setup: add " Pavel Begunkov
2023-09-29 12:09 ` [PATCH liburing 2/2] setup: default to IORING_SETUP_NO_SQARRAY Pavel Begunkov
2023-10-18 15:40 ` [PATCH liburing 0/2] liburing IORING_SETUP_NO_SQARRAY support Jens Axboe

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox