On Mon, 3 Mar 2008, Alan Stern wrote:Yes, we do depend on this. All the RCU stuff (and in general *anything* that depends on memory ordering as opposed to full locking, and we have quite a lot of it) is very fundamentally dependent on the fact that things like pointers get read and written atomically. HOWEVER, it is worth pointing out that it's generally true in a "different" sense than the actual atomic accesses. For example, if you test a single bit of a word, it's still quite possible that gcc will have turned that "atomic" read into a single byte read, so it's not necessarily the case that we'll actually even read the whole word. (Writes are different: if you do things like bitwise updates they simply *will*not* be atomic, but that's simply not what we depend on anyway). So in that sense, the atomicity guarantees are a lot weaker than the ones we do for IO accesses, but that's all fine. Memory isn't IO, and doesn't have side effects. Linus --
| Linus Torvalds | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Artem Bityutskiy | [RFC PATCH 06/26] UBIFS: add superblock and master node |
| Joe Perches | [PATCH 001/148] include/asm-x86/acpi.h: checkpatch cleanups - formatting only |
| Linus Torvalds | Re: LSM conversion to static interface |
git: | |
| Alexey Dobriyan | Re: [GIT]: Networking |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
| Christoph Lameter | Network latency regressions from 2.6.22 to 2.6.29 |
