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

Details

Provenance
iciliaat_gmail.comAuthored on Apr 29 2024, 8:44 PM
cpercivaCommitted on May 10 2024, 12:56 AM
Parents
rG8c2f6c3be012: Address module reproducibility issues
Branches
Unknown
Tags
Unknown