[PATCH 0/4] cleaning up nvme timeout over-dependence on global values

David Jeffery djeffery at redhat.com
Fri Sep 13 06:44:26 PDT 2024


With nvme timeout handling, the global configuration options behind
NVME_IO_TIMEOUT and NVME_ADMIN_TIMEOUT are broadly used in nvme timeout
behavior.

This can become quite a problem with systems using mixed nvme transports.
The timeoue values needed with local PCI devices may be very different from
what is needed over tcp or other fabric transports. The intention of this
patch series is to limit the NVME_IO_TIMEOUT and NVME_ADMIN_TIMEOUT values
to providing only an initial timeout value which can then be overridden and
configured separately per device. Thus, each device can have a timeout
value configured to match its characteristics.

David Jeffery (4):
  nvme: use queue's configured timeout not global config value for
    passthru
  nvme: add sysfs attribute to change admin timeout per nvme dev
  nvme: pci: use admin queue timeout over NVME_ADMIN_TIMEOUT
  nvme: use per device timeout waits over depending on global default
    value

 drivers/nvme/host/apple.c |  2 +-
 drivers/nvme/host/core.c  | 12 +++++++++---
 drivers/nvme/host/nvme.h  |  2 +-
 drivers/nvme/host/pci.c   |  5 +++--
 drivers/nvme/host/rdma.c  |  2 +-
 drivers/nvme/host/sysfs.c | 31 +++++++++++++++++++++++++++++++
 drivers/nvme/host/tcp.c   |  2 +-
 7 files changed, 47 insertions(+), 9 deletions(-)

-- 
2.46.0




More information about the Linux-nvme mailing list