From b25c605e34170dff088911dc468ad3e150eccab0 Mon Sep 17 00:00:00 2001 From: Guixin Liu Date: Tue, 26 May 2026 21:11:03 +0800 Subject: [PATCH] block: rename need_dispatch to cautious_dispatch in blk-mq sched The local boolean in __blk_mq_sched_dispatch_requests() decides whether to fall back to the per-ctx round-robin path (blk_mq_do_dispatch_ctx()) instead of the batch flush path (blk_mq_flush_busy_ctxs()). The whole function is about dispatching anyway, so the name "need_dispatch" is not particularly informative and can mislead readers into thinking that a false value means "skip dispatching". Rename it to "cautious_dispatch" to match the comment right above the check ("dequeue request one by one from sw queue if queue is busy") and to convey the actual intent: take the cautious, fair, one-at-a-time path either when we just drained hctx->dispatch (so the device has recently pushed back) or when the dispatch_busy EWMA still indicates congestion. The fast batch path is only taken when neither signal suggests recent backpressure. No functional change. Signed-off-by: Guixin Liu --- block/blk-mq-sched.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/block/blk-mq-sched.c b/block/blk-mq-sched.c index 0a00f5a76f5a8..ef28c3dd95a37 100644 --- a/block/blk-mq-sched.c +++ b/block/blk-mq-sched.c @@ -267,7 +267,7 @@ static int blk_mq_do_dispatch_ctx(struct blk_mq_hw_ctx *hctx) static int __blk_mq_sched_dispatch_requests(struct blk_mq_hw_ctx *hctx) { - bool need_dispatch = false; + bool cautious_dispatch = false; LIST_HEAD(rq_list); /* @@ -298,16 +298,16 @@ static int __blk_mq_sched_dispatch_requests(struct blk_mq_hw_ctx *hctx) blk_mq_sched_mark_restart_hctx(hctx); if (!blk_mq_dispatch_rq_list(hctx, &rq_list, true)) return 0; - need_dispatch = true; + cautious_dispatch = true; } else { - need_dispatch = hctx->dispatch_busy; + cautious_dispatch = hctx->dispatch_busy; } if (hctx->queue->elevator) return blk_mq_do_dispatch_sched(hctx); /* dequeue request one by one from sw queue if queue is busy */ - if (need_dispatch) + if (cautious_dispatch) return blk_mq_do_dispatch_ctx(hctx); blk_mq_flush_busy_ctxs(hctx, &rq_list); blk_mq_dispatch_rq_list(hctx, &rq_list, true);