考虑以下情况:
中重复一些字符串操作
处理的数据开头的lock前缀#。
我是否可以假设rep持有的锁是针对每个单独的元素,而不是整个指令的执行?否则,不意味着每一个应该具有实时语义的代码(没有循环、没有系统、总函数、每个操作都在有限时间内终止,等等)仍然可以通过在另一个线程中执行这样的事情而中断一些“邪恶”代码,这会使另一个线程上的cmpxchg被阻塞很长时间吗?
我担心的威胁模型是对实时操作系统上其他“用户”(包括内核IRQ处理程序)的拒绝服务攻击,其中的“服务”保证包括非常低的延迟中断处理。
如果不是lock rep stos,还有什么值得我担心的吗?
发布于 2022-09-28 03:15:29
lock rep stosq (和lock rep movsd,lock rep cmpsd,.)不是法律规定。
如果它们是合法的,它们将更像rep (lock stosq),锁定单个stosq。
,如果没有锁代表商店,还有什么值得我担心的吗?
您可能会担心非常老的CPU。具体来说,最初的奔腾CPU有一个名为"F00F bug“的缺陷(参见https://en.wikipedia.org/wiki/Pentium_F00F_bug ),旧的Cryix有一个名为”昏迷bug“的缺陷(参见https://en.wikipedia.org/wiki/Cyrix_coma_bug )。对于这两种情况(如果操作系统不能提供可行的解决方案),非特权软件就能够使CPU“永远锁定”。
https://stackoverflow.com/questions/73807761
复制相似问题