[PATCH v5 16/16] nvme: Add support for CQT to nvme host
Hannes Reinecke
hare at suse.de
Mon Jul 13 00:36:43 PDT 2026
On 7/12/26 4:23 AM, Mohamed Khalfella wrote:
> TP4129 KATO Corrections and Clarifications defined CQT (Command Quiesce
> Time) which is used along with KATO (Keep Alive Timeout) to set an upper
> limit for attempting Cross-Controller Recovery. Add ctrl->cqt, read its
> value from controller identify response, expose it via sysfs, and have
> nvme_fence_timeout_ms() account for it.
>
> Use CQT to drive time-based recovery in fc, rdma, and tcp transports.
> Add a fenced_work delayed work to each transport controller. If CCR
> fails, fencing_work switches to error recovery immediately if CQT is not
> supported. Otherwise it schedules fenced_work after the remaining fence
> timeout, which also switches to error recovery when scheduled.
>
> Signed-off-by: Mohamed Khalfella <mkhalfella at purestorage.com>
> ---
> drivers/nvme/host/core.c | 1 +
> drivers/nvme/host/fc.c | 41 +++++++++++++++++++++++++++++++++++----
> drivers/nvme/host/nvme.h | 5 +++--
> drivers/nvme/host/rdma.c | 41 +++++++++++++++++++++++++++++++++++----
> drivers/nvme/host/sysfs.c | 2 ++
> drivers/nvme/host/tcp.c | 41 +++++++++++++++++++++++++++++++++++----
> 6 files changed, 117 insertions(+), 14 deletions(-)
>
Reviewed-by: Hannes Reinecke <hare at kernel.org>
Cheers,
Hannes
--
Dr. Hannes Reinecke Kernel Storage Architect
hare at suse.de +49 911 74053 688
SUSE Software Solutions GmbH, Frankenstr. 146, 90461 Nürnberg
HRB 36809 (AG Nürnberg), GF: I. Totev, A. McDonald, W. Knoblich
More information about the Linux-nvme
mailing list