Thread (58 messages) 58 messages, 10 authors, 2022-09-06

Re: stalling IO regression since linux 5.12, through 5.18

From: Ming Lei <hidden>
Date: 2022-08-20 07:01:02
Also in: linux-block, linux-btrfs, lkml

On Fri, Aug 19, 2022 at 03:20:25PM -0400, Chris Murphy wrote:

On Thu, Aug 18, 2022, at 1:24 AM, Ming Lei wrote:
quoted
On Thu, Aug 18, 2022 at 12:27:04AM -0400, Chris Murphy wrote:
quoted

On Thu, Aug 18, 2022, at 12:18 AM, Chris Murphy wrote:
quoted
On Thu, Aug 18, 2022, at 12:12 AM, Chris Murphy wrote:
quoted
On Wed, Aug 17, 2022, at 11:41 PM, Ming Lei wrote:
quoted
OK, can you post the blk-mq debugfs log after you trigger it on v5.17?
Same boot, 3rd log. But the load is above 300 so I kinda need to sysrq+b soon.

https://drive.google.com/file/d/1375H558kqPTdng439rvG6LuXXWPXLToo/view?usp=sharing
Also please test the following one too:

diff --git a/block/blk-mq.c b/block/blk-mq.c
index 5ee62b95f3e5..d01c64be08e2 100644
--- a/block/blk-mq.c
+++ b/block/blk-mq.c
@@ -1991,7 +1991,8 @@ bool blk_mq_dispatch_rq_list(struct blk_mq_hw_ctx 
*hctx, struct list_head *list,
 		if (!needs_restart ||
 		    (no_tag && list_empty_careful(&hctx->dispatch_wait.entry)))
 			blk_mq_run_hw_queue(hctx, true);
-		else if (needs_restart && needs_resource)
+		else if (needs_restart && (needs_resource ||
+					blk_mq_is_shared_tags(hctx->flags)))
 			blk_mq_delay_run_hw_queue(hctx, BLK_MQ_RESOURCE_DELAY);

 		blk_mq_update_dispatch_busy(hctx, true);

With just this patch on top of 5.17.0, it still hangs. I've captured block debugfs log:
https://drive.google.com/file/d/1ic4YHxoL9RrCdy_5FNdGfh_q_J3d_Ft0/view?usp=sharing
The log is similar with before, and the only difference is RESTART not
set.

Also follows another patch merged to v5.18 and it fixes io stall too, feel free to test it:

8f5fea65b06d blk-mq: avoid extending delays of active hctx from blk_mq_delay_run_hw_queues



Thanks, 
Ming
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help