Re: [PATCH -next] blk-wbt: call rq_qos_add() after wb_normal is initialized
From: Jens Axboe <axboe@kernel.dk>
Date: 2022-09-21 14:37:17
Also in:
lkml
From: Jens Axboe <axboe@kernel.dk>
Date: 2022-09-21 14:37:17
Also in:
lkml
On Tue, 13 Sep 2022 18:57:49 +0800, Yu Kuai wrote:
From: Yu Kuai <redacted>
Our test found a problem that wbt inflight counter is negative, which
will cause io hang(noted that this problem doesn't exist in mainline):
t1: device create t2: issue io
add_disk
blk_register_queue
wbt_enable_default
wbt_init
rq_qos_add
// wb_normal is still 0
/*
* in mainline, disk can't be opened before
* bdev_add(), however, in old kernels, disk
* can be opened before blk_register_queue().
*/
blkdev_issue_flush
// disk size is 0, however, it's not checked
submit_bio_wait
submit_bio
blk_mq_submit_bio
rq_qos_throttle
wbt_wait
bio_to_wbt_flags
rwb_enabled
// wb_normal is 0, inflight is not increased
[...]
Applied, thanks!
[1/1] blk-wbt: call rq_qos_add() after wb_normal is initialized
commit: 8c5035dfbb9475b67c82b3fdb7351236525bf52b
Best regards,
--
Jens Axboe