summaryrefslogtreecommitdiffstats
path: root/drivers/nvme/host/nvme.h
diff options
context:
space:
mode:
authorSagi Grimberg <sagi@grimberg.me>2018-11-02 18:28:15 +0100
committerJens Axboe <axboe@kernel.dk>2018-12-08 06:26:55 +0100
commit6e3ca03ee934572d5de4fb2224c01e12c4d422c8 (patch)
treeb6e8dc7fa480aefbd87f68712e651e3cda747078 /drivers/nvme/host/nvme.h
parentnvme: cache controller attributes (diff)
downloadlinux-6e3ca03ee934572d5de4fb2224c01e12c4d422c8.tar.xz
linux-6e3ca03ee934572d5de4fb2224c01e12c4d422c8.zip
nvme: support traffic based keep-alive
If the controller supports traffic based keep alive, we restart the keep alive timer if any admin or io commands was completed during the kato period. This prevents a possible starvation of keep alive commands in the presence of heavy traffic as in such case, we already have a health indication from the host perspective. Only set a comp_seen indicator in case the controller supports keep alive to minimize the overhead for pci controllers. Signed-off-by: Sagi Grimberg <sagi@grimberg.me> Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'drivers/nvme/host/nvme.h')
-rw-r--r--drivers/nvme/host/nvme.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/nvme/host/nvme.h b/drivers/nvme/host/nvme.h
index 4be7bbcfe66d..f2594d468f29 100644
--- a/drivers/nvme/host/nvme.h
+++ b/drivers/nvme/host/nvme.h
@@ -145,6 +145,7 @@ enum nvme_ctrl_state {
};
struct nvme_ctrl {
+ bool comp_seen;
enum nvme_ctrl_state state;
bool identified;
spinlock_t lock;