One CPU Atomic Instruction, One Packaging Infinite Loop: The Story of the Lost Update on LA664
Summary
The article explains a Loongson LA664 CPU erratum where an atomic add instruction can lose updates under certain conditions, causing an infinite loop in OpenMP code. It documents multi-round investigation, AI-assisted reproduction, discovery of vectorized memory reads triggering the issue, and a firmware fix from Loongson with discussion of workarounds and memory-safety implications.