Thread (29 messages) 29 messages, 5 authors, 2017-07-06

Re: [PATCH 6/8] mtip32xx: quiesce request queues to make sure no submissions are inflight

From: Sagi Grimberg <sagi@grimberg.me>
Date: 2017-07-05 06:34:16
Also in: linux-nvme

quoted
@@ -3995,7 +3995,7 @@ static int mtip_block_remove(struct driver_data *dd)
  						dd->disk->disk_name);
  
  	blk_freeze_queue_start(dd->queue);
-	blk_mq_stop_hw_queues(dd->queue);
+	blk_mq_quiesce_queue(dd->queue);
  	blk_mq_tagset_busy_iter(&dd->tags, mtip_no_dev_cleanup, dd);
We still need to unquiesce queue for avoiding hanging blk_freeze_queue()
in blk_cleanup_queue() since any new request queued during quiescing
can't be dispatched to driver/device.
Yes, already added it in v2.
There are other blk_mq_tagset_busy_iter() in mtip_service_thread(),
which looks need quiesce too.
Wasn't sure about those two... I agree it looks like quiescing is
needed, will add in v2.
This case is even worse, because both
mtip_abort_cmd() and mtip_queue_cmd() do not check if the req is
started.
Its easy enough to add.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help