Linux kernel fix addresses SMP boot hangs caused by NBCON kthreads
Key Takeaway
A new patch prevents rare system hangs during SMP setup by delaying the start of non-blocking console (NBCON) printing threads.
Summary
A fix has been merged into the Linux kernel to resolve rare SMP boot hangs affecting systems since September 2024. The issue was traced to NBCON console printing kthreads being started too early via early_initcall(), which interfered with early SMP setup on certain hardware. The fix postpones the startup of these kthreads until after all architecture-specific initcalls have completed.
Technical details of the NBCON fix
- The bug stems from NBCON (non-blocking console) kthreads being initialized during early_initcall().
- These threads asynchronously enable and disable interrupts during the early boot phase.
- This behavior can cause missed IPIs (Inter-Processor Interrupts) during SMP setup on specific hardware.
- The fix moves the kthread startup to occur after all arch initcalls are finished.
Why it matters
The fix is expected to be backported from Linux 7.3 to other currently supported kernel branches to stabilize systems experiencing these boot hangs.
Original reference: www.phoronix.com →