Documentation/memory-barriers.txt: fix important typo re memory barriers
authorAlexey Dobriyan <adobriyan@gmail.com>
Fri, 6 Jun 2014 21:36:41 +0000 (14:36 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 6 Jun 2014 23:08:11 +0000 (16:08 -0700)
Examples introducing neccesity of RMB+WMP pair reads as

        A=3 READ B
        www rrrrrr
        B=4 READ A

Note the opposite order of reads vs writes.

But the first example without barriers reads as

        A=3 READ A
        B=4 READ B

There are 4 outcomes in the first example.

But if someone new to the concept tries to insert barriers like this:

        A=3 READ A
        www rrrrrr
        B=4 READ B

he will still get all 4 possible outcomes, because "READ A" is first.

All this can be utterly confusing because barrier pair seems to be
superfluous.  In short, fixup first example to match latter examples
with barriers.

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Cc: David Howells <dhowells@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Documentation/memory-barriers.txt

index 46412bd..f1dc4a2 100644 (file)
@@ -115,8 +115,8 @@ For example, consider the following sequence of events:
        CPU 1           CPU 2
        =============== ===============
        { A == 1; B == 2 }
-       A = 3;          x = A;
-       B = 4;          y = B;
+       A = 3;          x = B;
+       B = 4;          y = A;
 
 The set of accesses as seen by the memory system in the middle can be arranged
 in 24 different combinations: