Re: [PATCH V3 6/8] block: introduce preempt version of blk_[freeze|unfreeze]_queue

Bart Van Assche
2017-09-04T15:21:08Z

On Sat, 2017-09-02 at 21:08 +0800, Ming Lei wrote:
> --- a/include/linux/blkdev.h
> +++ b/include/linux/blkdev.h
> @@ -565,6 +565,10 @@ struct request_queue {
>
> int bypass_depth;
> atomic_t mq_freeze_depth;
> + spinlock_t freeze_lock;
> + unsigned normal_freezing:1;
> + unsigned preempt_freezing:1;
> + unsigned preempt_unfreezing:1;
>
> #if defined(CONFIG_BLK_DEV_BSG)
> bsg_job_fn *bsg_job_fn;

Requests queues already have to many states and you want to make request queues
even more complicated by introducing several new state variables? Yikes!

Bart.