summaryrefslogtreecommitdiffstats
path: root/sys/dev/nvme/nvme_private.h
diff options
context:
space:
mode:
authorjimharris <jimharris@FreeBSD.org>2013-03-26 20:32:57 +0000
committerjimharris <jimharris@FreeBSD.org>2013-03-26 20:32:57 +0000
commitb7f7338cc5bd9736b236409a3bda233d5d88d2b3 (patch)
treeddf856a18e441fadb2f1063d94c3d88320d8e9e6 /sys/dev/nvme/nvme_private.h
parent8712b8a346f61cb453edaadb0db8bf926c7b8f39 (diff)
downloadFreeBSD-src-b7f7338cc5bd9736b236409a3bda233d5d88d2b3.zip
FreeBSD-src-b7f7338cc5bd9736b236409a3bda233d5d88d2b3.tar.gz
By default, always escalate to controller reset when an I/O times out.
While aborts are typically cleaner than a full controller reset, many times an I/O timeout indicates other controller-level issues where aborts may not work. NVMe drivers for other operating systems are also defaulting to controller reset rather than aborts for timed out I/O. Sponsored by: Intel Reviewed by: carl
Diffstat (limited to 'sys/dev/nvme/nvme_private.h')
-rw-r--r--sys/dev/nvme/nvme_private.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/dev/nvme/nvme_private.h b/sys/dev/nvme/nvme_private.h
index 8921710..bae9aaa 100644
--- a/sys/dev/nvme/nvme_private.h
+++ b/sys/dev/nvme/nvme_private.h
@@ -230,6 +230,7 @@ struct nvme_controller {
uint32_t msix_enabled;
uint32_t force_intx;
+ uint32_t enable_aborts;
uint32_t num_io_queues;
boolean_t per_cpu_io_queues;
@@ -239,7 +240,7 @@ struct nvme_controller {
uint32_t ns_identified;
uint32_t queues_created;
uint32_t num_start_attempts;
- struct task restart_task;
+ struct task reset_task;
struct taskqueue *taskqueue;
/* For shared legacy interrupt. */
OpenPOWER on IntegriCloud