On Wed, 2017-05-31 at 20:37 +0800, Ming Lei wrote:
=20
+ /* wait until queue is unquiesced */
+ wait_event_cmd(q->quiesce_wq, !blk_queue_quiesced(q),
+ may_sleep ?
+ srcu_read_unlock(&hctx->queue_rq_srcu, *srcu_idx) :
+ rcu_read_unlock(),
+ may_sleep ?
+ *srcu_idx =3D srcu_read_lock(&hctx->queue_rq_srcu) :
+ rcu_read_lock());
+
if (q->elevator)
goto insert;
What I see is that in this patch a new waitqueue has been introduced
(quiesce_wq) and also that an explanation of why you think this new waitque=
ue
is needed is missing completely. Why is it that you think that the
synchronize_scru() and synchronize_rcu() calls in blk_mq_quiesce_queue() ar=
e
not sufficient? If this new waitqueue is not needed, please remove that
waitqueue again.
Bart.=