linux-nvme.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: keith.busch@intel.com (Keith Busch)
Subject: [PATCHv2 0/8] nvme timeout fixes v2
Date: Tue, 22 May 2018 16:03:24 -0600	[thread overview]
Message-ID: <20180522220332.9244-1-keith.busch@intel.com> (raw)

While some substantial changes to the blk-mq's timeout handling are
under consideration, the following should be compatible with existing
implementation, and current proposals for the future.

v1 -> v2:

  Reverse the sync/disable sequence on nvme reset in case a request was
  prevented from completing in the timeout work, then unconditionally
  disable the device to reclaim any remaining outstanding tags.

  Ensure we're not incorrectly clearing the new queue freeze flag.

  Do not start IO queues within the CONNECTING state. The queues will be
  started after entering the LIVE state.

  Fixed the ratelimit to the intended print.

  A new fix for a very unlikely race where an IO was blocked from
  completing prior to a reset, timing out yet again in CONNECTING state.

  A fix for a failed controller recovery that could leave queues quiesced
  when trying to unbind the driver.

  Whitespace fixes

Keith Busch (8):
  nvme: Sync request queues on reset
  nvme-pci: Fix queue freeze criteria on reset
  nvme: Move all IO out of controller reset
  nvme: Allow reset from CONNECTING state
  nvme-pci: Attempt reset retry for IO failures
  nvme-pci: Rate limit the nvme timeout warnings
  nvme-pci: End IO requests immediately in CONNECTING state
  nvme-pci: Ensure queues are not quiesced on dead controller

 drivers/nvme/host/core.c |  24 +++++++++-
 drivers/nvme/host/nvme.h |   2 +
 drivers/nvme/host/pci.c  | 117 +++++++++++++++++++++++++++++++++--------------
 3 files changed, 106 insertions(+), 37 deletions(-)

-- 
2.14.3

             reply	other threads:[~2018-05-22 22:03 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-22 22:03 Keith Busch [this message]
2018-05-22 22:03 ` [PATCHv2 1/8] nvme: Sync request queues on reset Keith Busch
2018-05-22 22:03 ` [PATCHv2 2/8] nvme-pci: Fix queue freeze criteria " Keith Busch
2018-05-22 22:03 ` [PATCHv2 3/8] nvme: Move all IO out of controller reset Keith Busch
2018-05-22 22:03 ` [PATCHv2 4/8] nvme: Allow reset from CONNECTING state Keith Busch
2018-05-22 22:03 ` [PATCHv2 5/8] nvme-pci: Attempt reset retry for IO failures Keith Busch
2018-05-22 22:03 ` [PATCHv2 6/8] nvme-pci: Rate limit the nvme timeout warnings Keith Busch
2018-05-22 22:03 ` [PATCHv2 7/8] nvme-pci: End IO requests in CONNECTING state Keith Busch
2018-05-22 22:03 ` [PATCHv2 8/8] nvme-pci: Unquiesce queues on dead controller Keith Busch
2018-05-23  3:00 ` [PATCHv2 0/8] nvme timeout fixes v2 Ming Lei
2018-05-23 16:16   ` Keith Busch
2018-05-23 22:49     ` Keith Busch
2018-05-24  6:52       ` jianchao.wang
2018-07-11 23:23       ` James Smart
2018-05-24  3:23     ` Ming Lei
2018-05-24 13:57       ` Keith Busch
2018-05-24 15:04         ` Ming Lei
2018-05-24 15:16           ` Keith Busch

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=20180522220332.9244-1-keith.busch@intel.com \
    --to=keith.busch@intel.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).