diff options
author | jimharris <jimharris@FreeBSD.org> | 2013-03-26 20:32:57 +0000 |
---|---|---|
committer | jimharris <jimharris@FreeBSD.org> | 2013-03-26 20:32:57 +0000 |
commit | b7f7338cc5bd9736b236409a3bda233d5d88d2b3 (patch) | |
tree | ddf856a18e441fadb2f1063d94c3d88320d8e9e6 /sys/dev/nvme/nvme_private.h | |
parent | 8712b8a346f61cb453edaadb0db8bf926c7b8f39 (diff) | |
download | FreeBSD-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.h | 3 |
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. */ |