等了两年!Linux 7.3终于修复NBCON导致的SMP启动挂起Bug

番茄系统家园 · 2026-10-17 12:30:22

本站10月17日消息,据报道,在即将发布的Linux 7.3稳定版内核中,一个导致多路SMP(对称多处理)服务器随机卡在启动阶段的罕见Bug终于被修复。问题根源可追溯至2024年9月引入的非阻塞控制台代码。

过去两年间,多个用户报告了SMP系统在启动时随机挂起的问题。这些报告表现各异,但存在一个共同点:在SMP初始化阶段出现了IPI(处理器间中断)丢失。进一步排查发现,禁用NBCON控制台即可让问题消失,矛头由此指向NBCON。

NBCON是Linux内核中的非阻塞控制台机制,用于在系统崩溃或紧急情况下仍能可靠输出日志。

问题出在其打印线程的启动时机上:NBCON的打印kthreads通过early_initcall在启动极早期就被创建,而它们在早期启动阶段会异步地启用和禁用中断,这可能干扰某些硬件平台上的SMP初始化过程,导致启动挂起。

修复方案来自Linutronix工程师John Ogness。补丁的核心思路是推迟kthreads的启动时间,将其移至所有架构相关的initcalls完成之后。实测表明,这一调整避免了此前可复现该问题的系统卡死。

由于该Bug自2024年9月起就存在于内核代码中,这一修复预计将在未来几天内从Linux 7.3回传至其他仍受支持的稳定内核分支。

对于运行多核服务器、曾遭遇随机启动卡死的运维人员而言,这无疑是一个迟来的好消息。

等了两年!Linux 7.3终于修复NBCON导致的SMP启动挂起Bug

免责声明: 凡标注转载/编译字样内容并非本站原创,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如果你觉得本文好,欢迎推荐给朋友阅读;本文链接: https://m.nndssk.com/xtzx/422602ID6a99.html。
猜你喜欢
最新应用
热门应用