Hacker News | 📄 原文链接 | 2026-09-27 收录

龙芯 LA664 丢失的原子更新:一条原子指令引发的打包死循环

来源:jia.je — 10 分 · by jiegec

📋 概述

作者记录了一处此前未知的龙芯 LA664 勘误。2026 年 2 月,LoongArch 上 Debian 13 社区移植版 loong13 的维护者王淼在打包 normaliz 时发现内置测试总是超时,卡在一个逃不出去的死循环里;顺着代码追下去,问题指向一句极普通的 OpenMP #pragma omp atomic 自增——循环退出条件要求累加值等于总点数,而累加结果总是偏小。代码规模太大,半年都没能缩减出人可读的最小例子,事情被搁置;8 月改用 AI 主导找复现、人来指挥方向的办法,约两天后拿到稳定复现器,根因是 CPU 的原子加指令偶尔做不到原子。龙芯得知后两周内给出几乎无性能损失的修复并提供测试固件,作者确认问题解决,正式固件预计在国庆前发布。

🔑 核心要点

💡 金句

这时我们才发现根本原因:CPU 的原子加指令偶尔并不能做到原子。这意味着我们发现了新的 CPU 勘误。
← 返回 Hacker News 首页