On Sat, Oct 09, 2021 at 11:47:11AM +0800, Ming Lei wrote: > The current blk_mq_quiesce_queue() and blk_mq_unquiesce_queue() always > stops and starts the queue unconditionally. And there can be concurrent > quiesce/unquiesce coming from different unrelated code paths, so > unquiesce may come unexpectedly and start queue too early. > > Prepare for supporting concurrent quiesce/unquiesce from multiple > contexts, so that we can address the above issue. > > NVMe has very complicated quiesce/unquiesce use pattern, add one atomic > bit for makeiing sure that blk-mq quiece/unquiesce is always called in > pair. Can you explain the need for these bits a little more? If they are unbalanced we should probably fix the root cause. What issues did you see?