x86在不可缓存的内存上的锁定前缀是否会导致内存带宽上的拒绝服务?

时间:2018-05-30 19:18:13

标签: x86 locking atomic cpu-architecture memory-bandwidth

具有锁定前缀的指令是否可以使其余的CPU(虚拟机)在虚拟化环境中占用内存带宽?

例如,请考虑以下代码

loop:
    lock inc dword [rax]
    jmp loop

现在假设rax包含一个不可缓存的内存位置的地址。 (使用PAT或MTRR将存储器类型设置为UC)。

这将强制CPU锁定内存总线并减慢其余CPU的内存访问速度,这使其成为拒绝服务的潜在工具。

现代处理器是否有机制在虚拟机之间划分内存带宽以防止此类攻击?

0 个答案:

没有答案