Какая разница в логике и производительности между LOCK XCHG и MOV + MFENCE? [Дубликат]
На этот вопрос уже есть ответ:
Загружает и хранит единственные инструкции, которые переупорядочиваются? 2 ответа Что является лучшим барьером для записи на x86: lock + addl или xchgl? 5 ответов Блокирует ли xchg то же поведение, что и mfence? 1 ответ Какая разница в логике и производительности между x86-инструкциямиLOCK XCHG
а такжеMOV+MFENCE
для создания хранилища последовательной согласованности.
(Мы игнорируем результат загрузкиXCHG
; другие компиляторы, кроме gcc, используют его для эффекта store + memory memory.)
Верно ли, что для последовательной согласованности при выполнении атомарной операции:LOCK XCHG
блокирует только одну строку кэша и наоборотMOV+MFENCE
блокирует весь кеш-L3 (LLC)?