mirror of
https://github.com/opnsense/src.git
synced 2026-03-29 14:13:11 -04:00
We only use nvme_completion_poll in the initialization path. The commands they queue and wait for finish quickly as they involve no I/O to the drive's media. These command take about 20-200 microsecnds each. Set the wait time to 1us and then increase it by 1.5 each successive iteration (max 1ms). This reduces initialization time by 80ms in cpervica's tests. Use this same technique waiting for RDY state transitions. This saves another 20ms. In total we're down from ~330ms to ~2ms. Tested by: cperciva Sponsored by: Netflix Reviewed by: mav Differential Review: https://reviews.freebsd.org/D32259 |
||
|---|---|---|
| .. | ||
| nvme.c | ||
| nvme.h | ||
| nvme_ahci.c | ||
| nvme_ctrlr.c | ||
| nvme_ctrlr_cmd.c | ||
| nvme_ns.c | ||
| nvme_ns_cmd.c | ||
| nvme_pci.c | ||
| nvme_private.h | ||
| nvme_qpair.c | ||
| nvme_sim.c | ||
| nvme_sysctl.c | ||
| nvme_test.c | ||
| nvme_util.c | ||