From: Keith Busch <kbusch@meta.com>
To: <io-uring@vger.kernel.org>
Cc: <axboe@kernel.dk>, <csander@purestorage.com>,
<ming.lei@redhat.com>, Keith Busch <kbusch@kernel.org>
Subject: [PATCHv3 0/3]
Date: Wed, 24 Sep 2025 08:12:06 -0700 [thread overview]
Message-ID: <20250924151210.619099-1-kbusch@meta.com> (raw)
From: Keith Busch <kbusch@kernel.org>
Previous version:
https://lore.kernel.org/io-uring/20250904192716.3064736-1-kbusch@meta.com/
The CQ supports mixed size entries, so why not for SQ's too? There are
use cases that currently allocate different queues just to keep these
things separated, but we can efficiently handle both cases in a single
ring.
Changes since v2:
- Define 128B opcodes to be used on mixed SQs. This is done instead of
using the last SQE flags bit to generically identify a command as
such. The new opcodes are valid only on a mixed SQ.
- Fixed up the accounting of sqes left to dispatch. The big sqes on a
mixed sq count for two entries, so previously would have fetched too
many.
- liburing won't bother submitting the nop-skip for the wrap-around
condition if there are not enoungh free entries for the big-sqe.
kernel:
Keith Busch (1):
io_uring: add support for IORING_SETUP_SQE_MIXED
include/uapi/linux/io_uring.h | 8 ++++++++
io_uring/fdinfo.c | 34 +++++++++++++++++++++++++++-------
io_uring/io_uring.c | 27 +++++++++++++++++++++++----
io_uring/io_uring.h | 8 +++++---
io_uring/opdef.c | 26 ++++++++++++++++++++++++++
io_uring/opdef.h | 2 ++
io_uring/register.c | 2 +-
io_uring/uring_cmd.c | 12 ++++++++++--
io_uring/uring_cmd.h | 1 +
9 files changed, 103 insertions(+), 17 deletions(-)
liburing:
Keith Busch (3):
Add support IORING_SETUP_SQE_MIXED
Add nop testing for IORING_SETUP_SQE_MIXED
Add mixed sqe test for uring commands
src/include/liburing.h | 50 +++++++++++
src/include/liburing/io_uring.h | 11 +++
test/Makefile | 3 +
test/sqe-mixed-bad-wrap.c | 89 ++++++++++++++++++++
test/sqe-mixed-nop.c | 82 ++++++++++++++++++
test/sqe-mixed-uring_cmd.c | 142 ++++++++++++++++++++++++++++++++
6 files changed, 377 insertions(+)
create mode 100644 test/sqe-mixed-bad-wrap.c
create mode 100644 test/sqe-mixed-nop.c
create mode 100644 test/sqe-mixed-uring_cmd.c
--
2.47.3
next reply other threads:[~2025-09-24 15:12 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-24 15:12 Keith Busch [this message]
2025-09-24 15:12 ` [PATCHv3 1/3] Add support IORING_SETUP_SQE_MIXED Keith Busch
2025-09-24 20:20 ` Caleb Sander Mateos
2025-09-24 20:30 ` Keith Busch
2025-09-24 20:37 ` Caleb Sander Mateos
2025-09-24 15:12 ` [PATCHv3 1/1] io_uring: add support for IORING_SETUP_SQE_MIXED Keith Busch
2025-09-25 15:03 ` Jens Axboe
2025-09-25 18:21 ` Caleb Sander Mateos
2025-09-25 18:44 ` Jens Axboe
2025-09-24 15:12 ` [PATCHv3 2/3] Add nop testing " Keith Busch
2025-09-24 15:12 ` [PATCHv3 3/3] Add mixed sqe test for uring commands Keith Busch
2025-09-24 15:54 ` [PATCHv3 0/3] io_uring: mixed submission queue size support Keith Busch
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250924151210.619099-1-kbusch@meta.com \
--to=kbusch@meta.com \
--cc=axboe@kernel.dk \
--cc=csander@purestorage.com \
--cc=io-uring@vger.kernel.org \
--cc=kbusch@kernel.org \
--cc=ming.lei@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox