From: Sagi Grimberg <sagi@grimberg.me>
To: Jens Axboe <axboe@kernel.dk>, linux-block@vger.kernel.org
Cc: linux-nvme@lists.infradead.org, Christoph Hellwig <hch@lst.de>,
Keith Busch <keith.busch@intel.com>,
James Smart <james.smart@broadcom.com>,
Ming Lei <ming.lei@redhat.com>
Subject: [PATCH v3 0/8] correct quiescing in several block drivers
Date: Wed, 5 Jul 2017 20:00:29 +0300 [thread overview]
Message-ID: <1499274037-17438-1-git-send-email-sagi@grimberg.me> (raw)
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
next reply other threads:[~2017-07-05 17:00 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-07-05 17:00 Sagi Grimberg [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1499274037-17438-1-git-send-email-sagi@grimberg.me \
--to=sagi@grimberg.me \
--cc=axboe@kernel.dk \
--cc=hch@lst.de \
--cc=james.smart@broadcom.com \
--cc=keith.busch@intel.com \
--cc=linux-block@vger.kernel.org \
--cc=linux-nvme@lists.infradead.org \
--cc=ming.lei@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).