Re: INFO: task hung in blk_queue_enter
From: Jens Axboe <axboe@kernel.dk>
Date: 2018-06-02 04:31:20
Also in:
linux-ext4, lkml
From: Jens Axboe <axboe@kernel.dk>
Date: 2018-06-02 04:31:20
Also in:
linux-ext4, lkml
On 6/1/18 8:36 PM, Ming Lei wrote:
quoted
clear the bit when we need to, potentially even adding a debug check to blk_queue_enter_live() that complains if the ref was not already elevated. Though that would be expensive, compared to the percpu inc now. Not saying the bit is necessarily the best way forward, but I do like it a LOT more than adding an argument to generic_make_request.We may introduce generic_make_request_with_ref() for blk_queue_split(), what do you think of the following patch?
Functionally it'll work as well.
In DM or MD, there is the following use case: 1) bio comes from fs, then one clone is made from this bio 2) the cloned bio is submitted via generic_make_request() from another context, such as wq. 3) then the flag of BIO_QUEUE_ENTERED is inherited and causes the queue usage counter isn't held.
We don't copy flags on a clone. -- Jens Axboe