[PATCH v2] nvme: reserve a keep-alive admin tag for all transports

Chao S coshi036 at gmail.com
Fri May 22 08:33:32 PDT 2026


On Thu, May 21, 2026, Keith Busch wrote:
> This command is already special since we filter for it on the completion
> side. We may want to selectively filter other Set Feature commands too.
> For example, we don't want user space turning on Host Dispersed
> Namespace Support, because this driver is not going to correctly react
> to that one either.

Thank you so much. I agreed.
v3 implements this: a filter in the passthrough path
(nvme_passthru_cmd_allowed) that rejects Set Features commands the
driver is not prepared to handle, returning -EOPNOTSUPP.  It starts
with KATO on non-fabrics and is structured so other features such as
Host Dispersed Namespace Support can be added as needed.

Thanks also for the idle-power-states point - that is now part of the
rationale in the commit message, since an active keep-alive on PCIe
would prevent deeper idle states for no benefit.

Sent as a new series:
  https://lore.kernel.org/linux-nvme/20260522152807.2061501-1-coshi036@gmail.com/

Chao

On Thu, May 21, 2026 at 10:38 AM Keith Busch <kbusch at kernel.org> wrote:
>
> On Thu, May 21, 2026 at 10:25:49AM +0200, Christoph Hellwig wrote:
> > On Wed, May 20, 2026 at 02:26:13PM -0600, Keith Busch wrote:
> > > 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.
>
> This command is already special since we filter for it on the completion
> side. We may want to selectively filter other Set Feature commands too.
> For example, we don't want user space turning on Host Dispersed
> Namespace Support, because this driver is not going to correctly react
> to that one either.



More information about the Linux-nvme mailing list