Thread (35 messages) 35 messages, 8 authors, 2017-08-20

Re: [PATCH 03/12] blk-mq: Explain when 'active_queues' is decremented

flat view

From: Jens Axboe <axboe@kernel.dk>
Date: 2017-08-18 14:34:47

On Thu, Aug 17 2017, Bart Van Assche wrote:
quoted hunk ↗ jump to hunk
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 <redacted>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Hannes Reinecke <hare@suse.de>
Cc: Johannes Thumshirn <redacted>
---
 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) {
I don't think that's a great comment, what does 'latest request timeout'
refer to? We hit this case when the device has gone idle, I think a more
useful comment would be something about how blk-mq implements timeouts.
How about something ala:

/*
 * Request timeouts are handled as a forward rolling timer. If we
 * end up here, there are no more requests pending, and there hasn't
 * been for a while. Mark each hctx as idle.
 */

-- 
Jens Axboe
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help