Hi, To help avoid doing task_struct dereferences in the hot path, move struct io_kiocb from stashing a task_struct pointer to an io_uring_task pointer instead. Patch 1 moves cancelations to key off io_uring_task rather than task, patch 2 just cleans up an unnecessary helper, and patch 3 moves to using io_uring_task in io_kiocb. include/linux/io_uring/cmd.h | 2 +- include/linux/io_uring_types.h | 3 +- io_uring/cancel.c | 2 +- io_uring/fdinfo.c | 2 +- io_uring/futex.c | 4 +- io_uring/futex.h | 4 +- io_uring/io_uring.c | 99 +++++++++++++++------------------- io_uring/io_uring.h | 2 +- io_uring/msg_ring.c | 4 +- io_uring/notif.c | 4 +- io_uring/poll.c | 7 ++- io_uring/poll.h | 2 +- io_uring/rw.c | 2 +- io_uring/tctx.c | 1 + io_uring/timeout.c | 12 ++--- io_uring/timeout.h | 2 +- io_uring/uring_cmd.c | 4 +- io_uring/uring_cmd.h | 2 +- io_uring/waitid.c | 6 +-- io_uring/waitid.h | 2 +- 20 files changed, 76 insertions(+), 90 deletions(-) -- Jens Axboe