sorting out the freeze / quiesce mess
Max Gurtovoy
mgurtovoy at nvidia.com
Wed Nov 10 05:30:43 PST 2021
On 11/10/2021 11:14 AM, Christoph Hellwig wrote:
> Hi Jens and Ming,
>
> I've been looking into properly supporting queue freezing for bio based
> drivers (that is only release q_usage_counter on bio completion for them).
> And the deeper I look into the code the more I'm confused by us having
> the blk_mq_quiesce* interface in addition to blk_freeze_queue. What
> is a good reason to do a quiesce separately from a freeze?
I think that quiesce_q will guarantee that no new requests will be
passed to LLD (completions can still arrive from LLD).
And freeze_q will notify that the internal request_q state will not
change and completions will not arrive from LLD (and if they will, the
block layer can ignore it).
At least this is what we aim to do in other areas such as Live migration.
More information about the Linux-nvme
mailing list