linux-block.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/8] correct quiescing in several block drivers
@ 2017-07-05 17:00 Sagi Grimberg
  2017-07-05 17:00 ` [PATCH v3 1/8] nvme-rdma: quiesce/unquiesce admin_q instead of start/stop its hw queues Sagi Grimberg
                   ` (7 more replies)
  0 siblings, 8 replies; 16+ messages in thread
From: Sagi Grimberg @ 2017-07-05 17:00 UTC (permalink / raw)
  To: Jens Axboe, linux-block
  Cc: linux-nvme, Christoph Hellwig, Keith Busch, James Smart, Ming Lei

Before we either iterate on tags we must guarantee that the
hw queues are stopped and no inflight .queue_rq is active.
Thats what blk_mq_quiesce_queue is for, so use it where appropriate.

Note that before we cleanup the request queue, we must unquiesce in
order to guarantee to not block on requests queued during quiescing.

Changes from v2:
- removed admin_q requeue list kick altogether (suggested by Ming)

Changes from v1:
- dropped the xen_blockfront patch, not sure if it was helpful at all
- removed the requeue kick in nvme drivers while making nvme unconditionally
  kick the requeue list when requeuing a request instead of doing so when
  unquiescing the queues. Note that this change was a two step change to
  keep bisection possible.
- fixed possible hangs with unquiescing before cleanup of the request queue
  in mtip32xx and nvme drivers.
- added check that the request started in mtip32xx itration callouts.
- collected review tags.

*** SUBJECT HERE ***

*** BLURB HERE ***

Sagi Grimberg (8):
  nvme-rdma: quiesce/unquiesce admin_q instead of start/stop its hw
    queues
  nvme-fc: quiesce/unquiesce admin_q instead of start/stop its hw queues
  nvme-loop: quiesce/unquiesce admin_q instead of start/stop its hw
    queues
  nvme-pci: quiesce/unquiesce admin_q instead of start/stop its hw
    queues
  nvme: kick requeue list when requeueing a request instead of when
    starting the queues
  nbd: quiesce request queues to make sure no submissions are inflight
  mtip32xx: quiesce request queues to make sure no submissions are
    inflight
  virtio_blk: quiesce/unquiesce live IO when entering PM states

 drivers/block/mtip32xx/mtip32xx.c | 19 +++++++++++++++----
 drivers/block/nbd.c               |  4 ++--
 drivers/block/virtio_blk.c        |  4 ++--
 drivers/nvme/host/core.c          | 19 ++-----------------
 drivers/nvme/host/fc.c            |  5 +++--
 drivers/nvme/host/pci.c           |  6 +++---
 drivers/nvme/host/rdma.c          |  7 ++++---
 drivers/nvme/target/loop.c        |  3 ++-
 8 files changed, 33 insertions(+), 34 deletions(-)

-- 
2.7.4

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2017-07-05 23:23 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-07-05 17:00 [PATCH v3 0/8] correct quiescing in several block drivers Sagi Grimberg
2017-07-05 17:00 ` [PATCH v3 1/8] nvme-rdma: quiesce/unquiesce admin_q instead of start/stop its hw queues Sagi Grimberg
2017-07-05 22:44   ` Ming Lei
2017-07-05 17:00 ` [PATCH v3 2/8] nvme-fc: " Sagi Grimberg
2017-07-05 22:49   ` Ming Lei
2017-07-05 17:00 ` [PATCH v3 3/8] nvme-loop: " Sagi Grimberg
2017-07-05 17:00 ` [PATCH v3 4/8] nvme-pci: " Sagi Grimberg
2017-07-05 22:50   ` Ming Lei
2017-07-05 17:00 ` [PATCH v3 5/8] nvme: kick requeue list when requeueing a request instead of when starting the queues Sagi Grimberg
2017-07-05 22:58   ` Ming Lei
2017-07-05 23:06   ` Christoph Hellwig
2017-07-05 23:23     ` Ming Lei
2017-07-05 17:00 ` [PATCH v3 6/8] nbd: quiesce request queues to make sure no submissions are inflight Sagi Grimberg
2017-07-05 18:08   ` Josef Bacik
2017-07-05 17:00 ` [PATCH v3 7/8] mtip32xx: " Sagi Grimberg
2017-07-05 17:00 ` [PATCH v3 8/8] virtio_blk: quiesce/unquiesce live IO when entering PM states Sagi Grimberg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).