Re: [PATCH V3 4/6] nvme: paring quiesce/unquiesce
From: Christoph Hellwig <hch@lst.de>
Date: 2021-10-12 10:36:24
Also in:
linux-nvme
From: Christoph Hellwig <hch@lst.de>
Date: 2021-10-12 10:36:24
Also in:
linux-nvme
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?