On Tue, Oct 12, 2021 at 12:30:10PM +0200, Christoph Hellwig wrote: > On Sat, Oct 09, 2021 at 11:47:13AM +0800, Ming Lei wrote: > > + spin_lock_irqsave(&q->queue_lock, flags); > > + if (!q->quiesce_depth++) > > + blk_queue_flag_set(QUEUE_FLAG_QUIESCED, q); > > We can get rid of the QUEUE_FLAG_QUIESCED flag now and just look > at ->quiesce_depth directly. I'd rather not to do that given we need to check QUEUE_FLAG_QUIESCED in fast path. > > > + spin_lock_irqsave(&q->queue_lock, flags); > > + WARN_ON_ONCE(q->quiesce_depth <= 0); > > + if (q->quiesce_depth > 0 && !--q->quiesce_depth) { > > if (WARN_ON_ONCE(q->quiesce_depth <= 0)) > ; /* oops */ > else if (!--q->quiesce_depth) > run_queue = true; OK. Thanks, Ming