Thread (3 messages) 3 messages, 2 authors, 2022-09-21

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

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

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