Loongson-CPU entdeckt: Atomare Addition verliert Updates

The Lost Atomic Update on Loongson CPU

Loongson-CPU entdeckt: Atomare Addition verliert Updates

Beim Paketieren von normaliz für Debian auf LoongArch stieß Wang Miao auf eine Endlosschleife: Die OpenMP-Atomoperation `#pragma omp atomic` auf einer gemeinsamen Variable verlor gelegentlich Updates, sodass der Zähler nie den Zielwert erreichte. Nach sechs Monaten erfolgloser Suche ließ das Team KI einen minimalen Reproducer finden. Ursache: Die LoongArch64-Instruktion `amadd.d` ist unter bestimmten Bedingungen nicht atomar – vor allem, wenn LASX-vektorisierte Lesevorgänge (`xvld`) mit Atomic-Operationen ohne Datenbarriere auf verschiedenen physischen Kernen verschränkt werden. Loongson lieferte innerhalb von zwei Wochen eine Firmware-Korrektur ohne nennenswerten Leistungsverlust.

Die Atomare Additionsinstruktion der CPU ist gelegentlich nicht atomar.

Mehr von diesem Tag

2026-09-26