Page MenuHomeFreeBSD

Don't enable interrupts in init_secondary().
ClosedPublic

Authored by markj on Jan 22 2020, 11:02 PM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, Dec 18, 11:58 AM
Unknown Object (File)
Thu, Dec 12, 10:39 PM
Unknown Object (File)
Nov 23 2024, 8:59 PM
Unknown Object (File)
Nov 15 2024, 4:00 AM
Unknown Object (File)
Oct 2 2024, 5:28 AM
Unknown Object (File)
Sep 18 2024, 5:06 AM
Unknown Object (File)
Sep 8 2024, 9:40 PM
Unknown Object (File)
Sep 7 2024, 10:59 AM
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

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable