Linux内核内存障碍

时间:2013-01-12 09:16:19

标签: linux linux-kernel memory-barriers

我是Linux内核编程的新手。我对the memory barriers文档感到困惑,在 GUARANTEES 章节中。

  

特定CPU中的重叠加载和存储似乎在该CPU中排序。

*X = c; d = *X;
     

CPU 仅发出问题:

STORE *X = c, d = LOAD *X

然后是另一个例子:

  

必须假设可以合并或丢弃重叠的内存访问。

*A = X; Y = *A;
     

我们可能

STORE *A = X; Y = LOAD *A;
STORE *A = Y = X;

它们看起来一样,这两个例子有什么区别?

1 个答案:

答案 0 :(得分:3)

你是对的,documnetation是不正确的。 实际上你的文件版本不是最新的。已经有一个3.8-rc3的提交修复了这个问题: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commitdiff;h=f191eec58803e1e16c3421638cdcc9195c425851

希望有所帮助。 的Matthias