Re: [PATCH 7/8] swim3: Remove the quiesce/unquiesce calls on frozen queues

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

 



On 7/3/25 05:38, Bart Van Assche wrote:
> Because blk_mq_hw_queue_need_run() now returns false if a queue is frozen,
> protecting request queue changes with blk_mq_quiesce_queue() and
> blk_mq_unquiesce_queue() while a queue is frozen is no longer necessary.
> Hence this patch that removes quiesce/unquiesce calls on frozen queues.
> 
> Signed-off-by: Bart Van Assche <bvanassche@xxxxxxx>
> ---
>  drivers/block/swim3.c | 2 --
>  1 file changed, 2 deletions(-)
> 
> diff --git a/drivers/block/swim3.c b/drivers/block/swim3.c
> index 01f7aef3fcfb..8e209804ceaf 100644
> --- a/drivers/block/swim3.c
> +++ b/drivers/block/swim3.c
> @@ -850,8 +850,6 @@ static void release_drive(struct floppy_state *fs)
>  	spin_unlock_irqrestore(&swim3_lock, flags);
>  
>  	memflags = blk_mq_freeze_queue(q);
> -	blk_mq_quiesce_queue(q);
> -	blk_mq_unquiesce_queue(q);
>  	blk_mq_unfreeze_queue(q, memflags);
>  }

With your changes, the pattern:

	memflags = blk_mq_freeze_queue(q);
	blk_mq_unfreeze_queue(q, memflags);

is repeated several times. So maybe make that a helper ? Naming it is tricky
though. Maybe something like:

static inline void blk_mq_drain_queue(q)
{
	unsigned int memflags = blk_mq_freeze_queue(q);

	blk_mq_unfreeze_queue(q, memflags);
}


-- 
Damien Le Moal
Western Digital Research




[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