[PATCH V3 4/6] nvme: paring quiesce/unquiesce

Christoph Hellwig hch at lst.de
Tue Oct 12 03:36:20 PDT 2021


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?



More information about the Linux-nvme mailing list