[PATCH v2] nvme: reserve a keep-alive admin tag for all transports
Christoph Hellwig
hch at lst.de
Thu May 21 01:25:49 PDT 2026
On Wed, May 20, 2026 at 02:26:13PM -0600, Keith Busch wrote:
> On Fri, May 15, 2026 at 03:12:48AM -0400, Chao Shi wrote:
> > Per NVMe 2.0a section 5.27.1.12 and the transport binding wording,
> > PCIe MAY support KATO. Reserve one admin tag on all transports so
> > the host is ready when a controller accepts the feature. Fabrics
> > keeps two, the second being for the connect command.
> >
> > A quirk-based approach was considered but no PCIe controller
> > documented to declare KAS != 0 was found (two enterprise SSDs tested
> > locally report KAS=0), so an allowlist has no entries today.
>
> I totally get it's optional for PCIe, but that also means it's the
> host's option on whether it wants to use it, and there's no requirement
> we have to. We just need the driver react correctly when someone tries
> to do it.
>
> I am skeptical anyone would produce a PCIe device that supports it, but
> let's say someone does: what is the use case motivating enabling this
> optional feature in this driver? If it's just because the option is
> there, then I think we can just reject the user command submitting the
> feature for PCIe transports, like I earlier suggested. Requiring an
> active command will just harm idle power states.
I don't think that's quite the point. We'd have to add special
filtering to fix the reproducer. Compared to that just reserving
a tag and officially supporting the feature is much easier and a much
better story.
More information about the Linux-nvme
mailing list