Re: [PATCH RESEND v3 0/3] Fix some starvation problems in block layer
From: Jens Axboe
Date: Wed Oct 16 2024 - 13:00:01 EST
On Mon, 14 Oct 2024 17:29:31 +0800, Muchun Song wrote:
> We encounter a problem on our servers where hundreds of UNINTERRUPTED
> processes are all waiting in the WBT wait queue. And the IO hung detector
> logged so many messages about "blocked for more than 122 seconds". The
> call trace is as follows:
>
> Call Trace:
> __schedule+0x959/0xee0
> schedule+0x40/0xb0
> io_schedule+0x12/0x40
> rq_qos_wait+0xaf/0x140
> wbt_wait+0x92/0xc0
> __rq_qos_throttle+0x20/0x30
> blk_mq_make_request+0x12a/0x5c0
> generic_make_request_nocheck+0x172/0x3f0
> submit_bio+0x42/0x1c0
> ...
>
> [...]
Applied, thanks!
[1/3] block: fix missing dispatching request when queue is started or unquiesced
commit: 4bddfec1a0fb837f66b403a11ee1834769df2330
[2/3] block: fix ordering between checking QUEUE_FLAG_QUIESCED and adding requests
commit: 542c1c1b4cca00051997f4e1ad330a518e727c79
[3/3] block: fix ordering between checking BLK_MQ_S_STOPPED and adding requests
commit: 1936f2e6981297621deed9afcdc9063c1964fc5b
Best regards,
--
Jens Axboe