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

驱动之家
 来自北京

快科技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

“特别声明:以上作品内容(包括在内的视频、图片或音频)为凤凰网旗下自媒体平台“大风号”用户上传并发布,本平台仅提供信息存储空间服务。

Notice: The content above (including the videos, pictures and audios if any) is uploaded and posted by the user of Dafeng Hao, which is a social media platform and merely provides information storage space services.”

独家原创
财经信源
科技精选
热点新闻