Re: [PATCH 1/3] blk-mq: remove redundant call to blk_freeze_queue_start in blk_mq_destroy_queue

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

 



On 10/29/22 19:27, Jinlong Chen wrote:
I think this patch introduces a hang for every caller of
blk_mq_destroy_queue() other than blk_queue_start_drain().
>> I don't see why the patch introduces a hang. The calling relationship in
blk_mq_destroy_queue is as follows: [ ... ]

Agreed - what I wrote is wrong.

So I think there is a redundant call to blk_freeze_queue_start(), we
just need to call blk_mq_freeze_queue_wait() after calling
blk_queue_start_drain().

I think it is on purpose that blk_queue_start_drain() freezes the request queue and never unfreezes it. So if you want to change this behavior it's up to you to motivate why you want to change this behavior and also why it is safe to make that change. See also commit d3cfb2a0ac0b ("block: block new I/O just after queue is set as dying").

Bart.




[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