It is nontrivial to derive from the blk-mq source code when
blk_mq_tags.active_queues is decremented. Hence add a comment that
explains this.

Signed-off-by: Bart Van Assche <[email protected]>
Cc: Christoph Hellwig <[email protected]>
Cc: Hannes Reinecke <[email protected]>
Cc: Johannes Thumshirn <[email protected]>
---
 block/blk-mq.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/block/blk-mq.c b/block/blk-mq.c
index f84d145490bf..b86d2cafc355 100644
--- a/block/blk-mq.c
+++ b/block/blk-mq.c
@@ -834,6 +834,10 @@ static void blk_mq_timeout_work(struct work_struct *work)
        } else {
                struct blk_mq_hw_ctx *hctx;
 
+               /*
+                * All requests finished (latest request timeout) seconds ago,
+                * so mark each hctx as idle.
+                */
                queue_for_each_hw_ctx(q, hctx, i) {
                        /* the hctx may be unmapped, so check it here */
                        if (blk_mq_hw_queue_mapped(hctx))
-- 
2.14.0

Reply via email to