public inbox for io-uring@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/4] io_uring/uring_cmd: avoid double indirect call in task work dispatch
@ 2025-10-27  2:02 Caleb Sander Mateos
  2025-10-27  2:02 ` [PATCH v3 1/4] io_uring: expose io_should_terminate_tw() Caleb Sander Mateos
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Caleb Sander Mateos @ 2025-10-27  2:02 UTC (permalink / raw)
  To: Jens Axboe, Miklos Szeredi, Ming Lei, Keith Busch,
	Christoph Hellwig, Sagi Grimberg, Chris Mason, David Sterba
  Cc: io-uring, linux-fsdevel, linux-block, linux-nvme, linux-btrfs,
	linux-kernel, Caleb Sander Mateos

Define uring_cmd implementation callback functions to have the
io_req_tw_func_t signature to avoid the additional indirect call and
save 8 bytes in struct io_uring_cmd. Additionally avoid the
io_should_terminate_tw() computation in callbacks that don't need it.

v3:
- Hide io_kiocb from uring_cmd implementations
- Label the 8 reserved bytes in struct io_uring_cmd (Ming)

v2:
- Define the uring_cmd callbacks with the io_req_tw_func_t signature
  to avoid the macro defining a hidden wrapper function (Christoph)

Caleb Sander Mateos (4):
  io_uring: expose io_should_terminate_tw()
  io_uring/uring_cmd: call io_should_terminate_tw() when needed
  io_uring: add wrapper type for io_req_tw_func_t arg
  io_uring/uring_cmd: avoid double indirect call in task work dispatch

 block/ioctl.c                  |  4 +++-
 drivers/block/ublk_drv.c       | 15 +++++++++------
 drivers/nvme/host/ioctl.c      |  5 +++--
 fs/btrfs/ioctl.c               |  4 +++-
 fs/fuse/dev_uring.c            |  7 ++++---
 include/linux/io_uring.h       | 14 ++++++++++++++
 include/linux/io_uring/cmd.h   | 29 +++++++++++++++++++----------
 include/linux/io_uring_types.h |  7 +++++--
 io_uring/futex.c               | 16 +++++++++-------
 io_uring/io_uring.c            | 21 ++++++++++++---------
 io_uring/io_uring.h            | 17 ++---------------
 io_uring/msg_ring.c            |  3 ++-
 io_uring/notif.c               |  5 +++--
 io_uring/poll.c                | 11 ++++++-----
 io_uring/poll.h                |  2 +-
 io_uring/rw.c                  |  5 +++--
 io_uring/rw.h                  |  2 +-
 io_uring/timeout.c             | 18 +++++++++++-------
 io_uring/uring_cmd.c           | 17 ++---------------
 io_uring/waitid.c              |  7 ++++---
 20 files changed, 116 insertions(+), 93 deletions(-)

-- 
2.45.2


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

end of thread, other threads:[~2025-10-31 18:29 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-27  2:02 [PATCH v3 0/4] io_uring/uring_cmd: avoid double indirect call in task work dispatch Caleb Sander Mateos
2025-10-27  2:02 ` [PATCH v3 1/4] io_uring: expose io_should_terminate_tw() Caleb Sander Mateos
2025-10-27  2:03 ` [PATCH v3 2/4] io_uring/uring_cmd: call io_should_terminate_tw() when needed Caleb Sander Mateos
2025-10-27  2:03 ` [PATCH v3 3/4] io_uring: add wrapper type for io_req_tw_func_t arg Caleb Sander Mateos
2025-10-27  2:03 ` [PATCH v3 4/4] io_uring/uring_cmd: avoid double indirect call in task work dispatch Caleb Sander Mateos
2025-10-27  7:51   ` Christoph Hellwig
2025-10-31 18:29     ` Caleb Sander Mateos

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