Linux kernel fix addresses rare SMP boot hangs caused by NBCON kthreads
Key Takeaway
A new patch postpones the startup of non-blocking console (NBCON) kthreads to prevent interference with early SMP setup.
Summary
A fix has been merged into the Linux kernel to resolve rare system hangs occurring during the boot process on SMP systems. The issue was traced to NBCON console printing kthreads, which were being started too early via early_initcall(). By delaying these kthreads until after all architecture initcalls have completed, the potential for missed Inter-Processor Interrupts (IPIs) during SMP setup is avoided.
Technical details of the NBCON fix
- The bug stems from NBCON kthreads being started during early_initcall().
- These kthreads asynchronously enable and disable interrupts during the early boot phase.
- This behavior can interfere with SMP setup on certain hardware platforms by causing missed Inter-Processor Interrupts (IPIs).
- The fix moves the kthread startup to occur after all arch initcalls have finished.
Why it matters
The fix addresses a regression present since September 2024 and is expected to be backported to other supported kernel branches following the Linux 7.3 release.
Original reference: www.phoronix.com →