Потерянное атомарное обновление: как обычный atomic add на Loongson срывает сборку Debian

The Lost Atomic Update on Loongson CPU

Потерянное атомарное обновление: как обычный atomic add на Loongson срывает сборку Debian

В феврале 2026 года Wang Miao столкнулся с бесконечным циклом при сборке normaliz для Debian на сервере LoongArch: счётчик, увеличиваемый через #pragma omp atomic, не достигал нужного значения. Проблему удалось локализовать лишь через полгода с помощью AI, который нашёл минимальный воспроизводимый пример. Причина — ошибка в CPU: инструкция атомарного сложения amadd.d на ядре LA664 иногда теряет обновления при векторных чтениях LASX. Loongson подтвердила эрратум и за две недели выпустила прошивку с исправлением без потери производительности.

Инструкция атомарного сложения CPU иногда не является атомарной.

Ещё за этот день

2026-09-26