Skip to content

Remove aux CQE caches

Pavel Begunkov io-uring linux-block 3 versions – Applied

Status from this message: Applied, thanks!

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v3 Latest13 patches 7 repliesApplied
  2. v214 patches 26 repliesSuperseded
  3. v111 patches 42 repliesApplied

Patches in v3 Applied

#Subject and filesSizeRepliesApplied
1/13io_uring/cmd: move io_uring_try_cancel_uring_cmd()io_uring/io_uring.c io_uring/io_uring.h io_uring/uring_cmd.c +1 more+41 -381 reply
2/13io_uring/cmd: kill one issue_flags to tw conversionio_uring/uring_cmd.c+4 -41 reply
3/13io_uring/cmd: fix tw <-> issue_flags conversionio_uring/uring_cmd.c+10 -31 reply
4/13io_uring/cmd: introduce io_uring_cmd_completeinclude/linux/io_uring/cmd.h+28 -01 reply
5/13nvme/io_uring: don't hard code IO_URING_F_UNLOCKEDdrivers/nvme/host/ioctl.c+6 -31 reply
6/13io_uring/rw: avoid punting to io-wq directlyio_uring/io_uring.c io_uring/io_uring.h io_uring/rw.c+5 -120 replies
7/13io_uring: force tw ctx lockingio_uring/io_uring.c+9 -120 replies
8/13io_uring: remove struct io_tw_state::lockedinclude/linux/io_uring_types.h io_uring/io_uring.c io_uring/io_uring.h +5 more+17 -470 replies
9/13io_uring: refactor io_fill_cqe_req_auxio_uring/io_uring.c io_uring/io_uring.h io_uring/net.c +3 more+9 -240 replies
10/13io_uring: get rid of intermediate aux cqe cachesinclude/linux/io_uring_types.h io_uring/io_uring.c io_uring/io_uring.h+15 -520 replies
11/13io_uring: remove current check from complete_postio_uring/io_uring.c+1 -10 replies
12/13io_uring: refactor io_req_complete_post()io_uring/io_uring.c io_uring/io_uring.h+11 -190 replies
13/13io_uring: clean up io_lockdep_assert_cq_lockedio_uring/io_uring.h+2 -60 replies

Reviews trailers per patch

5 of 13 patches have a Reviewed-by or Acked-by.

PatchKanchan JoshiMing Lei
SeriesT-b
1/13R-b
2/13R-b
3/13R-b
4/13R-b
5/13R-b R-b
6/13
7/13
8/13
9/13
10/13
11/13
12/13
13/13

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v3 thread

Cover letter [PATCH v3 00/13] Remove aux CQE caches

Mandate ctx locking for task_work. Then, remove aux CQE caches mostly used by multishot requests and post them directly into the CQ.

It's leaving some of the pre existing issue_flags and state conversion non conformant chunks, which will need to clean up later.

v3: pass IO_URING_F_COMPLETE_DEFER to the cmd cancellation path
drop patch moving request cancellation list removal to tw drop all other ublk changes

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 (13):
io_uring/cmd: move io_uring_try_cancel_uring_cmd() io_uring/cmd: kill one issue_flags to tw conversion io_uring/cmd: fix tw <-> issue_flags conversion io_uring/cmd: introduce io_uring_cmd_complete 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/nvme/host/ioctl.c      |   9 +-
 include/linux/io_uring/cmd.h   |  28 +++++
 include/linux/io_uring_types.h |   5 +-
 io_uring/io_uring.c            | 198 ++++++++-------------------------
 io_uring/io_uring.h            |  24 ++--
 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           |  45 +++++++-
 io_uring/uring_cmd.h           |   3 +
 io_uring/waitid.c              |   2 +-
 12 files changed, 143 insertions(+), 206 deletions(-)
Signature · 1 line
2.44.0