Re: [PATCH V2 3/3] blk-mq: update hctx->nr_active in blk_mq_end_request_batch()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11/2/21 4:43 PM, Shinichiro Kawasaki wrote:
> On Nov 02, 2021 / 23:36, Ming Lei wrote:
>> In case of shared tags and none io sched, batched completion still may
>> be run into, and hctx->nr_active is accounted when getting driver tag,
>> so it has to be updated in blk_mq_end_request_batch().
>>
>> Otherwise, hctx->nr_active may become same with queue depth, then
>> hctx_may_queue() always return false, then io hang is caused.
>>
>> Fixes the issue by updating the counter in batched way.
>>
>> Reported-by: Shinichiro Kawasaki <shinichiro.kawasaki@xxxxxxx>
>> Fixes: f794f3351f26 ("block: add support for blk_mq_end_request_batch()")
>> Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxx>
> 
> Ming, thank you very much. I have confirmed that the blktests block/005 hang
> disappears using NVMe devices with two namespaces.
> 
> Though this patch is already queued up to for-5.16/block, in case it is still
> meaningful:
> 
> Tested-by: Shin'ichiro Kawasaki <shinichiro.kawasaki@xxxxxxx>

Testing is _always_ meaningful! So thanks for doing that, and reporting it in
the first place. The patch has been queued up this morning for 5.16.

-- 
Jens Axboe




[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux