电脑硬件
等了两年!Linux 7.3终于修复NBCON导致的SMP启动挂起Bug
📋总体概括
Linux 7.3稳定版内核将修复一个困扰两年的SMP启动挂起Bug。问题根源是2024年9月引入的NBCON非阻塞控制台机制:其打印kthreads通过early_initcall在启动极早期被创建,会异步启用和禁用中断,干扰SMP初始化阶段的IPI,导致多路服务器随机卡死。修复由Linutronix工程师John Ogness完成,思路是推迟kthreads启动至架构相关initcalls之后,并将回传至其他受支持稳定分支。
⚡关键信息
- ▸Linux 7.3将修复SMP服务器启动随机挂起的Bug,问题自2024年9月引入NBCON后存在约两年
- ▸根因是NBCON打印kthreads通过early_initcall过早创建,异步开关中断导致SMP初始化阶段IPI丢失
- ▸排查关键线索:禁用NBCON控制台后问题即消失,矛头指向该非阻塞控制台机制
- ▸修复由Linutronix工程师John Ogness提交,核心是将kthreads启动推迟到所有架构initcalls之后
- ▸补丁预计几天内回传至其他仍受支持的稳定内核分支,利好多核服务器运维
🔥犀利点评
一个打印线程抢跑,卡死一堆多路服务器两年,这暴露的是内核社区对「早期启动时序」这类隐形地雷的排查效率问题——不是没人报,而是症状随机、难复现。NBCON为了崩溃时可靠输出日志,反倒在正常启动时埋雷,颇具讽刺。好在补丁思路简单粗暴且有效,运维们总算能睡个整觉了。
📰 相关资讯(与本文相关的其他资讯)
本文由本站自动聚合,以下为原始来源:前往 驱动之家 阅读全文 →