HomeFreeBSD

Adjust the fdc worker thread startup to work when APs are started earlier.

Description

Adjust the fdc worker thread startup to work when APs are started earlier.

  • Enable the commented out locking in fd_probe(). The worker thread should not be running yet (even after these changes), but better to be safe than sorry.
  • Defer starting the worker thread until after the child drives have been probed. The worker thread startup is moved into a fdc_start_worker() thread that the various front ends call at the end of attach. As a side effect this fixes a few edge cases that weren't shutting down the worker thread if attach encountered a late failure.
  • When executing the initial reset requested by attach in the worker thread, use DELAY() instead of a tsleep() if cold is set.

Tested by: Howard Su <howard0su@gmail.com>
Sponsored by: Netflix

Details

Provenance
jhbAuthored on
Parents
rS298425: Queue the CPU-probing task after all acpi_cpu devices are attached.
Branches
Unknown
Tags
Unknown