Message ID | 20240906194540.3719642-1-kbusch@meta.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | blk-mq: add missing unplug trace event | expand |
On Fri, 06 Sep 2024 12:45:40 -0700, Keith Busch wrote: > The single-queue optimized list flush doesn't have an unplug trace event > to pair with the plug event. Add one. > > In the unlikely event an error occurs and falls back to the less > optimized plug flush path, it's possible a 2nd unplug trace event will > be logged, but it will show the remainig count that weren't previously > handled. > > [...] Applied, thanks! [1/1] blk-mq: add missing unplug trace event commit: acc8c0a9887558966295e3c0881e633154c239a9 Best regards,
diff --git a/block/blk-mq.c b/block/blk-mq.c index 79cc66275f1cd..3076019a9e0a7 100644 --- a/block/blk-mq.c +++ b/block/blk-mq.c @@ -2757,6 +2757,7 @@ static void blk_mq_dispatch_plug_list(struct blk_plug *plug, bool from_sched) void blk_mq_flush_plug_list(struct blk_plug *plug, bool from_schedule) { struct request *rq; + unsigned int depth; /* * We may have been called recursively midway through handling @@ -2767,6 +2768,7 @@ void blk_mq_flush_plug_list(struct blk_plug *plug, bool from_schedule) */ if (plug->rq_count == 0) return; + depth = plug->rq_count; plug->rq_count = 0; if (!plug->multiple_queues && !plug->has_elevator && !from_schedule) { @@ -2774,6 +2776,7 @@ void blk_mq_flush_plug_list(struct blk_plug *plug, bool from_schedule) rq = rq_list_peek(&plug->mq_list); q = rq->q; + trace_block_unplug(q, depth, true); /* * Peek first request and see if we have a ->queue_rqs() hook.