[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