HomeFreeBSD

New sysctl to disable NOMATCH until devmatch runs

Description

New sysctl to disable NOMATCH until devmatch runs

Introduce hw.bus.devctl_nomatch_enabled and use it to suppress NOMATCH
until devmatch runs

There's a lot of NOMATCH events generated at boot. We also run devmatch
once during early boot to load unmatched devices. To avoid redundant
work, don't start generating NOMATCH events until after devmatch runs.
Set hw.bus.devctl_nomatch_enabled=1 just before we run devmatch. The
kernel will suppress NOMATCH events until this is set to true.

This saves about 170ms from the boot on aarch64 running atop Apple
M-series processors and the VMWare Fusion hypervisor.

Reviewed by: imp, cperciva
MFC after: 3 days
Sponsored by: Google Summer of Code
Pull Request: https://github.com/freebsd/freebsd-src/pull/1213

(cherry picked from commit 6437872c1d665c2605f54e8ff040b0ba41edad07)

Details

Provenance
iciliaat_gmail.comAuthored on Apr 29 2024, 8:44 PM
cpercivaCommitted on May 13 2024, 10:24 PM
Parents
rGe306ad1c194d: release: make dependencies, not recursive make
Branches
Unknown
Tags
Unknown