io_uring/fdinfo: add some defer tw ring debugging io_uring-defer-tw.4
authorJens Axboe <axboe@kernel.dk>
Wed, 18 Jun 2025 12:44:03 +0000 (06:44 -0600)
committerJens Axboe <axboe@kernel.dk>
Wed, 18 Jun 2025 12:53:05 +0000 (06:53 -0600)
Signed-off-by: Jens Axboe <axboe@kernel.dk>
io_uring/fdinfo.c

index 9798d6fb4ec73bf174dd887e0eca561faaada2b1..266366a244f4d2360fe7c5d822297f5d6e98ad41 100644 (file)
@@ -202,6 +202,16 @@ static void __io_uring_show_fdinfo(struct io_ring_ctx *ctx, struct seq_file *m)
                                        task_work_pending(req->tctx->task));
        }
 
+       if (ctx->flags & IORING_SETUP_DEFER_TASKRUN) {
+               struct io_tw_ring *tw_ring = ctx->tw_ring;
+
+               seq_printf(m, "Defer ring\n");
+               seq_printf(m, "  Entries: %u\n", tw_ring->entries);
+               seq_printf(m, "  Head   : %u\n", tw_ring->head);
+               seq_printf(m, "  CTail  : %u\n", atomic_read(&tw_ring->cons_tail));
+               seq_printf(m, "  TTail  : %u\n", atomic_read(&tw_ring->prod_tail));
+       }
+
        seq_puts(m, "CqOverflowList:\n");
        spin_lock(&ctx->completion_lock);
        list_for_each_entry(ocqe, &ctx->cq_overflow_list, list) {