Re: [PATCH] nvme: make firmware activation poll interval configurable
Christoph Hellwig <[email protected]>
| Newsgroups | org.infradead.lists.linux-nvme,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
On Sat, Jun 27, 2026 at 09:06:10AM +0800, guzebing wrote: > From: Guzebing <[email protected]> > > 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 <[email protected]> > --- > 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.