]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
io_uring: add trace event for running task work
authorDylan Yudaken <dylany@fb.com>
Wed, 22 Jun 2022 13:40:27 +0000 (06:40 -0700)
committerJens Axboe <axboe@kernel.dk>
Mon, 25 Jul 2022 00:39:15 +0000 (18:39 -0600)
This is useful for investigating if task_work is batching

Signed-off-by: Dylan Yudaken <dylany@fb.com>
Link: https://lore.kernel.org/r/20220622134028.2013417-8-dylany@fb.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
include/trace/events/io_uring.h

index 3bc8dec9acaacf5c889cc82ccbd9fa240cfc5c87..918e3a43e4b280d7a2f34b5945eae1e78dab4a44 100644 (file)
@@ -600,6 +600,36 @@ TRACE_EVENT(io_uring_cqe_overflow,
                  __entry->cflags, __entry->ocqe)
 );
 
+/*
+ * io_uring_task_work_run - ran task work
+ *
+ * @tctx:              pointer to a io_uring_task
+ * @count:             how many functions it ran
+ * @loops:             how many loops it ran
+ *
+ */
+TRACE_EVENT(io_uring_task_work_run,
+
+       TP_PROTO(void *tctx, unsigned int count, unsigned int loops),
+
+       TP_ARGS(tctx, count, loops),
+
+       TP_STRUCT__entry (
+               __field(  void *,               tctx            )
+               __field(  unsigned int,         count           )
+               __field(  unsigned int,         loops           )
+       ),
+
+       TP_fast_assign(
+               __entry->tctx           = tctx;
+               __entry->count          = count;
+               __entry->loops          = loops;
+       ),
+
+       TP_printk("tctx %p, count %u, loops %u",
+                __entry->tctx, __entry->count, __entry->loops)
+);
+
 #endif /* _TRACE_IO_URING_H */
 
 /* This part must be outside protection */