From: Pavel Begunkov <asml.silence@gmail.com>
To: io-uring@vger.kernel.org
Cc: linux-block@vger.kernel.org, Jens Axboe <axboe@kernel.dk>,
asml.silence@gmail.com, Kanchan Joshi <joshi.k@samsung.com>,
Ming Lei <ming.lei@redhat.com>
Subject: [PATCH v2 00/14] remove aux CQE caches
Date: Mon, 18 Mar 2024 00:41:45 +0000 [thread overview]
Message-ID: <cover.1710720150.git.asml.silence@gmail.com> (raw)
Patches 1-7 are cleanups mainly dealing with issue_flags conversions,
misundertsandings of the flags and of the tw state. It'd be great to have
even without even w/o the rest.
8-11 mandate ctx locking for task_work and finally removes the CQE
caches, instead we post directly into the CQ. Note that the cache is
used by multishot auxiliary completions.
Patches 12-14 are additional cleanups that were sent out in a separate
patchset before.
Beware, there are problems reported coming from ublk testing, which
may or may not be due to unrelated problems with for-next.
v2: Add Patch 3, which fixes deadlock due to nested locking
introduced in v1
Remove a fix, which was taken separately
Pile up more cleanups (Patches 12-14)
Pavel Begunkov (14):
io_uring/cmd: kill one issue_flags to tw conversion
io_uring/cmd: fix tw <-> issue_flags conversion
io_uring/cmd: make io_uring_cmd_done irq safe
io_uring/cmd: introduce io_uring_cmd_complete
ublk: don't hard code IO_URING_F_UNLOCKED
nvme/io_uring: don't hard code IO_URING_F_UNLOCKED
io_uring/rw: avoid punting to io-wq directly
io_uring: force tw ctx locking
io_uring: remove struct io_tw_state::locked
io_uring: refactor io_fill_cqe_req_aux
io_uring: get rid of intermediate aux cqe caches
io_uring: remove current check from complete_post
io_uring: refactor io_req_complete_post()
io_uring: clean up io_lockdep_assert_cq_locked
drivers/block/ublk_drv.c | 18 ++--
drivers/nvme/host/ioctl.c | 9 +-
include/linux/io_uring/cmd.h | 24 +++++
include/linux/io_uring_types.h | 5 +-
io_uring/io_uring.c | 161 +++++++++------------------------
io_uring/io_uring.h | 17 +---
io_uring/net.c | 6 +-
io_uring/poll.c | 3 +-
io_uring/rw.c | 18 +---
io_uring/timeout.c | 8 +-
io_uring/uring_cmd.c | 36 +++++---
io_uring/waitid.c | 2 +-
12 files changed, 122 insertions(+), 185 deletions(-)
--
2.44.0
next reply other threads:[~2024-03-18 0:43 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-18 0:41 Pavel Begunkov [this message]
2024-03-18 0:41 ` [PATCH v2 01/14] io_uring/cmd: kill one issue_flags to tw conversion Pavel Begunkov
2024-03-18 0:41 ` [PATCH v2 02/14] io_uring/cmd: fix tw <-> issue_flags conversion Pavel Begunkov
2024-03-18 2:23 ` Ming Lei
2024-03-18 2:25 ` Jens Axboe
2024-03-18 2:32 ` Pavel Begunkov
2024-03-18 2:40 ` Jens Axboe
2024-03-18 2:43 ` Pavel Begunkov
2024-03-18 2:46 ` Jens Axboe
2024-03-18 2:47 ` Ming Lei
2024-03-18 3:11 ` Jens Axboe
2024-03-18 3:24 ` Pavel Begunkov
2024-03-18 6:59 ` Ming Lei
2024-03-18 11:45 ` Pavel Begunkov
2024-03-18 0:41 ` [PATCH v2 03/14] io_uring/cmd: make io_uring_cmd_done irq safe Pavel Begunkov
2024-03-18 8:10 ` Ming Lei
2024-03-18 11:50 ` Pavel Begunkov
2024-03-18 11:59 ` Ming Lei
2024-03-18 12:46 ` Pavel Begunkov
2024-03-18 13:09 ` Ming Lei
2024-03-18 0:41 ` [PATCH v2 04/14] io_uring/cmd: introduce io_uring_cmd_complete Pavel Begunkov
2024-03-18 0:41 ` [PATCH v2 05/14] ublk: don't hard code IO_URING_F_UNLOCKED Pavel Begunkov
2024-03-18 8:16 ` Ming Lei
2024-03-18 12:52 ` Pavel Begunkov
2024-03-18 13:37 ` Pavel Begunkov
2024-03-18 14:32 ` Pavel Begunkov
2024-03-18 14:39 ` Ming Lei
2024-03-18 14:34 ` Ming Lei
2024-03-18 15:08 ` Pavel Begunkov
2024-03-18 15:16 ` Ming Lei
2024-03-18 0:41 ` [PATCH v2 06/14] nvme/io_uring: " Pavel Begunkov
2024-03-18 13:26 ` Kanchan Joshi
2024-03-18 13:38 ` Pavel Begunkov
2024-03-18 0:41 ` [PATCH v2 07/14] io_uring/rw: avoid punting to io-wq directly Pavel Begunkov
2024-03-18 0:41 ` [PATCH v2 08/14] io_uring: force tw ctx locking Pavel Begunkov
2024-03-18 0:41 ` [PATCH v2 09/14] io_uring: remove struct io_tw_state::locked Pavel Begunkov
2024-03-18 0:41 ` [PATCH v2 10/14] io_uring: refactor io_fill_cqe_req_aux Pavel Begunkov
2024-03-18 0:41 ` [PATCH v2 11/14] io_uring: get rid of intermediate aux cqe caches Pavel Begunkov
2024-03-18 0:41 ` [PATCH v2 12/14] io_uring: remove current check from complete_post Pavel Begunkov
2024-03-18 0:41 ` [PATCH v2 13/14] io_uring: refactor io_req_complete_post() Pavel Begunkov
2024-03-18 0:41 ` [PATCH v2 14/14] io_uring: clean up io_lockdep_assert_cq_locked Pavel Begunkov
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=cover.1710720150.git.asml.silence@gmail.com \
--to=asml.silence@gmail.com \
--cc=axboe@kernel.dk \
--cc=io-uring@vger.kernel.org \
--cc=joshi.k@samsung.com \
--cc=linux-block@vger.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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).