[PATCH v6 17/18] nvme: Add support for CQT to nvme host

Mohamed Khalfella mkhalfella at purestorage.com
Fri Oct 30 13:05:50 PDT 2026


On Tue 2026-10-20 14:46:03 +0200, Daniel Wagner wrote:
> On Sun, Sep 20, 2026 at 11:28:15AM -0700, 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>
> > Reviewed-by: Hannes Reinecke <hare at kernel.org>
> > Reviewed-by: Sagi Grimberg <sagi at grimberg.me>
> 
> the sysfs entry needs to be documented, with this

--- a/Documentation/ABI/stable/sysfs-nvme
+++ b/Documentation/ABI/stable/sysfs-nvme
@@ -120,6 +120,16 @@ Description:
                Shows the Keep Alive Timeout value in milliseconds for
                this controller.

+What:          /sys/class/nvme/nvmeX/cqt
+Date:          October 2026
+KernelVersion: 7.5
+Contact:       Mohamed Khalfella <mkhalfella at purestorage.com>
+Description:
+               Shows CQT (Command Quiesce Time) in milliseconds as reported
+               by the Identify Controller data structure. CQT is the time the
+               controller needs to quiesce outstanding commands once the
+               host loses communication with it.
+
 What:          /sys/class/nvme/nvmeX/cmb
 Date:          October 2016
 KernelVersion: 4.9

Added the diff above to the patch.

> 
> Reviewed-by: Daniel Wagner <dwagner at suse.de>



More information about the Linux-nvme mailing list