mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-07-16 17:57:38 -04:00
io_uring: clean up cqe trace points
We have too many helpers posting CQEs, instead of tracing completion events before filling in a CQE and thus having to pass all the data, set the CQE first, pass it to the tracing helper and let it extract everything it needs. Signed-off-by: Pavel Begunkov <asml.silence@gmail.com> Link: https://lore.kernel.org/r/b83c1ca9ee5aed2df0f3bb743bf5ed699cce4c86.1729267437.git.asml.silence@gmail.com Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
committed by
Jens Axboe
parent
9b296c625a
commit
2946f08ae9
@@ -315,20 +315,14 @@ TRACE_EVENT(io_uring_fail_link,
|
||||
* io_uring_complete - called when completing an SQE
|
||||
*
|
||||
* @ctx: pointer to a ring context structure
|
||||
* @req: pointer to a submitted request
|
||||
* @user_data: user data associated with the request
|
||||
* @res: result of the request
|
||||
* @cflags: completion flags
|
||||
* @extra1: extra 64-bit data for CQE32
|
||||
* @extra2: extra 64-bit data for CQE32
|
||||
*
|
||||
* @req: (optional) pointer to a submitted request
|
||||
* @cqe: pointer to the filled in CQE being posted
|
||||
*/
|
||||
TRACE_EVENT(io_uring_complete,
|
||||
|
||||
TP_PROTO(void *ctx, void *req, u64 user_data, int res, unsigned cflags,
|
||||
u64 extra1, u64 extra2),
|
||||
TP_PROTO(struct io_ring_ctx *ctx, void *req, struct io_uring_cqe *cqe),
|
||||
|
||||
TP_ARGS(ctx, req, user_data, res, cflags, extra1, extra2),
|
||||
TP_ARGS(ctx, req, cqe),
|
||||
|
||||
TP_STRUCT__entry (
|
||||
__field( void *, ctx )
|
||||
@@ -343,11 +337,11 @@ TRACE_EVENT(io_uring_complete,
|
||||
TP_fast_assign(
|
||||
__entry->ctx = ctx;
|
||||
__entry->req = req;
|
||||
__entry->user_data = user_data;
|
||||
__entry->res = res;
|
||||
__entry->cflags = cflags;
|
||||
__entry->extra1 = extra1;
|
||||
__entry->extra2 = extra2;
|
||||
__entry->user_data = cqe->user_data;
|
||||
__entry->res = cqe->res;
|
||||
__entry->cflags = cqe->flags;
|
||||
__entry->extra1 = io_ctx_cqe32(ctx) ? cqe->big_cqe[0] : 0;
|
||||
__entry->extra2 = io_ctx_cqe32(ctx) ? cqe->big_cqe[1] : 0;
|
||||
),
|
||||
|
||||
TP_printk("ring %p, req %p, user_data 0x%llx, result %d, cflags 0x%x "
|
||||
|
||||
Reference in New Issue
Block a user