[PATCH] nvme: make firmware activation poll interval configurable

Christoph Hellwig hch at lst.de
Wed Jul 8 23:42:33 PDT 2026


On Sat, Jun 27, 2026 at 09:06:10AM +0800, guzebing wrote:
> From: Guzebing <guzebing at bytedance.com>
> 
> nvme_fw_act_work() polls the controller processing-paused status every
> 100 ms while firmware activation is pending. Some devices can complete
> online activation in only a few hundred milliseconds, so the fixed
> interval can add noticeable latency before the driver observes
> completion.
> 
> Add an nvme_core.fw_act_poll_interval_ms module parameter to make the
> poll interval tunable. Keep the default at 100 ms to preserve existing
> behavior, and accept values from 10 ms to 100 ms so systems that need
> faster completion detection can opt in to a shorter interval.
> 
> Signed-off-by: Guzebing <guzebing at bytedance.com>
> ---
> We recently observed this issue while performing online firmware
> updates for Gen5 NVMe SSDs in a production environment.
> 
> During firmware activation, the kernel quiesces I/O. Detecting the end
> of firmware activation earlier lets the driver unquiesce I/O earlier,
> which is important for the long-tail I/O latency of production
> workloads.

What value does this device report in the Maximum Time for Firmware
Activation (MTFA) field?  It might make sense to scale the polling
time as a fraction of that instead of requiring a manual override.




More information about the Linux-nvme mailing list