Может ли префикс блокировки x86 на не кэшируемой памяти вызвать отказ в обслуживании в пропускной способности памяти? - PullRequest
0 голосов
/ 30 мая 2018

Может ли инструкция с префиксом блокировки исчерпать ресурсы остальных процессоров (виртуальных машин) для пропускной способности памяти в виртуализированной среде?

Например, рассмотрим следующий фрагмент кода

loop:
    lock inc dword [rax]
    jmp loop

Теперь предположим, что rax содержит адрес ячейки памяти, которая не кэшируется.(Использование PAT или MTRR для установки типа памяти в UC).

Это заставит ЦП блокировать шину памяти и замедлит доступ к памяти остального ЦП, что делает его потенциальным инструментом для отказа в обслуживании..

Есть ли у современных процессоров механизмы для распределения пропускной способности памяти между виртуальными машинами для предотвращения подобных атак?

...