io_uring: clean up tracing events

We have lots of trace events accepting an io_uring request and wanting
to print some of its fields like user_data, opcode, flags and so on.
However, as trace points were unaware of io_uring structures, we had to
pass all the fields as arguments. Teach trace/events/io_uring.h about
struct io_kiocb and stop the misery of passing a horde of arguments to
trace helpers.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/40ff72f92798114e56d400f2b003beb6cde6ef53.1655384063.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
Pavel Begunkov
2022-06-16 13:57:20 +01:00
committed by Jens Axboe
parent ab1c84d855
commit 48863ffd3e
4 changed files with 66 additions and 100 deletions

View File

@@ -115,8 +115,7 @@ static void io_fail_links(struct io_kiocb *req)
nxt = link->link;
link->link = NULL;
trace_io_uring_fail_link(req->ctx, req, req->cqe.user_data,
req->opcode, link);
trace_io_uring_fail_link(req, link);
if (ignore_cqes)
link->flags |= REQ_F_CQE_SKIP;