summaryrefslogtreecommitdiffstats
path: root/block
diff options
context:
space:
mode:
authorKeith Busch <keith.busch@intel.com>2017-06-07 20:32:50 +0200
committerChristoph Hellwig <hch@lst.de>2017-06-15 14:30:08 +0200
commitb2a0eb1a0ac72869c910a79d935a0b049ec78ad9 (patch)
tree5950dcdb125ab720107e27eea4bb83391df04ab8 /block
parent97f6ef6464dbd235a4d9bdfc05d949aab24fc927 (diff)
downloadlinux-b2a0eb1a0ac72869c910a79d935a0b049ec78ad9.tar.bz2
nvme-pci: Remove watchdog timer
The controller status polling was added to preemptively reset a failed controller. This early detection would allow commands that would normally timeout a chance for a retry, or find broken links when the platform didn't support hotplug. This once-per-second MMIO read, however, created more problems than it solves. This often races with PCIe Hotplug events that required complicated syncing between work queues, frequently triggered PCIe Completion Timeout errors that also lead to fatal machine checks, and unnecessarily disrupts low power modes by running on idle controllers. This patch removes the watchdog timer, and instead checks controller health only on an IO timeout when we have a reason to believe something is wrong. If the controller is failed, the driver will disable immediately and request scheduling a reset. Suggested-by: Andy Lutomirski <luto@amacapital.net> Signed-off-by: Keith Busch <keith.busch@intel.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'block')
0 files changed, 0 insertions, 0 deletions