Page MenuHomeFreeBSD

Don't enable interrupts in init_secondary().
ClosedPublic

Authored by markj on Jan 22 2020, 11:02 PM.
Tags
None
Referenced Files
F136995305: D23328.id.diff
Thu, Nov 20, 10:53 PM
F136995275: D23328.id67170.diff
Thu, Nov 20, 10:53 PM
F136995261: D23328.id67206.diff
Thu, Nov 20, 10:53 PM
F136993157: D23328.diff
Thu, Nov 20, 10:46 PM
Unknown Object (File)
Wed, Nov 12, 4:01 AM
Unknown Object (File)
Oct 17 2025, 11:12 PM
Unknown Object (File)
Oct 17 2025, 11:12 PM
Unknown Object (File)
Oct 17 2025, 11:12 PM
Subscribers

Details

Summary

Doing so can cause deadlocks or panics during boot. In QEMU I was
seeing occasional panics during boot when a statclock interrupt
interrupted an idle thread in init_secondary(), before per-CPU scheduler
data structures were linked. It also seemed to be causing some
mysterious boot failures in AWS but I don't have console access and so
cannot confirm.

The idle threads are set up to release a spinlock section and enable
interrupts in fork_exit(), so there is no need to enable interrupts
earlier.

Diff Detail

Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 28864
Build 26869: arc lint + arc unit