aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKeith Busch <keith.busch@intel.com>2014-04-04 11:43:36 -0600
committerMatthew Wilcox <matthew.r.wilcox@intel.com>2014-04-10 17:04:38 -0400
commitb355084a891985d4cd0ca23b1a83366af2c4232d (patch)
tree3b819a5b20b3d752c900181afabaa06ae7f286dc
parent33b1e95c90447ea73e37e837ea0268a894919f19 (diff)
downloadxhci-b355084a891985d4cd0ca23b1a83366af2c4232d.tar.gz
NVMe: Make I/O timeout a module parameter
Increase the default timeout to 30 seconds to match SCSI. Signed-off-by: Keith Busch <keith.busch@intel.com> [use byte instead of ushort] Signed-off-by: Matthew Wilcox <matthew.r.wilcox@intel.com>
-rw-r--r--drivers/block/nvme-core.c4
-rw-r--r--include/linux/nvme.h3
2 files changed, 6 insertions, 1 deletions
diff --git a/drivers/block/nvme-core.c b/drivers/block/nvme-core.c
index ce5a4f1a3950c4..7c57b1d955a18d 100644
--- a/drivers/block/nvme-core.c
+++ b/drivers/block/nvme-core.c
@@ -50,6 +50,10 @@
#define CQ_SIZE(depth) (depth * sizeof(struct nvme_completion))
#define ADMIN_TIMEOUT (60 * HZ)
+unsigned char io_timeout = 30;
+module_param(io_timeout, byte, 0644);
+MODULE_PARM_DESC(io_timeout, "timeout in seconds for I/O");
+
static int nvme_major;
module_param(nvme_major, int, 0);
diff --git a/include/linux/nvme.h b/include/linux/nvme.h
index 15d071eba8b8b7..1da0807c65bce7 100644
--- a/include/linux/nvme.h
+++ b/include/linux/nvme.h
@@ -66,7 +66,8 @@ enum {
#define NVME_VS(major, minor) (major << 16 | minor)
-#define NVME_IO_TIMEOUT (5 * HZ)
+extern unsigned char io_timeout;
+#define NVME_IO_TIMEOUT (io_timeout * HZ)
/*
* Represents an NVM Express device. Each nvme_dev is a PCI function.