|
Recommendations: 1
Eachus: This tells the compiler that the value can't be kept in a register, and every change must be written to main memory.
foo1bar: It is true that the value can't be kept in a register, but that's not the same as the preceding statement. "uncacheable" is not the same as "not kept in a register".
I want to throw a rock, dammit.
Eachus recognizes and specifies, and anyone who is familiar with the issues ought to recognize in about two seconds that Eachus knows this and makes that specifically clear by specifying 'the compiler'.
The compiler is utterly ignorant of page states, and simply ensures that (e.g., in C) "volatile" values are always "written" back to memory.
The fact that it doesn't actually get there on AMD and recent Intel CPUs immediately doesn't mean that the statement was wrong: the OS and h/w have gotten together to do what the application "really means".
On older Intel h/w, the h/w and OS had to actually send the data to memory before the lock could issue.
rj
|
|
 |
Announcements
|