Linux kernel memory core

I am new to Linux kernel programming. I am confused by the memory documentation in the WARRANTY chapter.

Overlapping downloads and vaults within a specific CPU will be ordered inside that CPU.

*X = c; d = *X; 

The CPU will only issue:

 STORE *X = c, d = LOAD *X 

And then another example:

It should be assumed that overlapping memory accesses may be combined or dropped.

 *A = X; Y = *A; 

we can get any of:

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

They look the same, what's the difference between the two examples?

+4
source share
1 answer

You are right, this is not true. In fact, your version of the file is not updated. The fix for the problem was fixed in version 3.8-rc3: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commitdiff;h=f191eec58803e1e16c3421638cdcc9195c425851

Hope this helps. Matthias

+3
source

All Articles