[PATCH v2 0/3] io_uring/uring_cmd: avoid double indirect call in task work dispatch

Caleb Sander Mateos posted 3 patches 3 months, 2 weeks ago
There is a newer version of this series
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   | 23 +++++++++++++----------
include/linux/io_uring_types.h |  1 -
io_uring/io_uring.h            | 13 -------------
io_uring/uring_cmd.c           | 17 ++---------------
10 files changed, 51 insertions(+), 52 deletions(-)
[PATCH v2 0/3] io_uring/uring_cmd: avoid double indirect call in task work dispatch
Posted by Caleb Sander Mateos 3 months, 2 weeks ago
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.

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 (3):
  io_uring: expose io_should_terminate_tw()
  io_uring/uring_cmd: call io_should_terminate_tw() when needed
  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   | 23 +++++++++++++----------
 include/linux/io_uring_types.h |  1 -
 io_uring/io_uring.h            | 13 -------------
 io_uring/uring_cmd.c           | 17 ++---------------
 10 files changed, 51 insertions(+), 52 deletions(-)

-- 
2.45.2