Re: [PATCH V3 1/4] blk-mq: serialize queue quiesce and unquiesce by mutex

Bart Van Assche
2020-09-08T17:55:05Z

On 2020-09-08 01:15, Ming Lei wrote:
> void blk_mq_unquiesce_queue(struct request_queue *q)
> {
> + mutex_lock(&q->mq_quiesce_lock);
> +
> blk_queue_flag_clear(QUEUE_FLAG_QUIESCED, q);
>
> /* dispatch requests which are inserted during quiescing */
> blk_mq_run_hw_queues(q, true);
> +
> + mutex_unlock(&q->mq_quiesce_lock);
> }
Has the sunvdc driver been retested? It calls blk_mq_unquiesce_queue()
with a spinlock held. As you know calling mutex_lock() while holding a
spinlock is not allowed.

There may be other drivers than the sunvdc driver that do this.

Thanks,

Bart.