[PATCH] doc/ko_KR/memory-barriers: Update control-dependencies section

From: SeongJae Park
Date: Fri Mar 03 2017 - 01:52:33 EST


This commit applies upstream change, commit c8241f8553e8 ("doc: Update
control-dependencies section of memory-barriers.txt"), to Korean
translation.

Signed-off-by: SeongJae Park <sj38.park@xxxxxxxxx>
---
.../translations/ko_KR/memory-barriers.txt | 68 ++++++++++++----------
1 file changed, 37 insertions(+), 31 deletions(-)

diff --git a/Documentation/translations/ko_KR/memory-barriers.txt b/Documentation/translations/ko_KR/memory-barriers.txt
index a3228a676cc1..ce0b48d69eaa 100644
--- a/Documentation/translations/ko_KR/memory-barriers.txt
+++ b/Documentation/translations/ko_KR/memory-barriers.txt
@@ -662,6 +662,10 @@ include/linux/rcupdate.h ì rcu_assign_pointer() ì rcu_dereference() ë
ìíë ììì
-------------

+íìì ìíìëëì ìíë ìììì ìííê ìì ìê ëëì ìíë ìììì
+ìê ëëê ìëì ì ììëë. ì ììì ëìì ìëëì ìíìëì ëìë
+ìí ìëëì ìëê ëêìë ê ëì ì ìëë ëëêëë.
+
ëë-ëë ìíë ìììì ëìí ììì ëëìëìëë ìíí ëìí ìê
ììì ìê ëëë ëëìë íìë íëë. ìëì ìëë ëìë:

@@ -689,20 +693,21 @@ CPU ë b ëëíì ëë ìíëììì a ëëíì ëë ìíë

q = READ_ONCE(a);
if (q) {
- WRITE_ONCE(b, p);
+ WRITE_ONCE(b, 1);
}

ìíë ìììì ëí ëë íìì ëëìëê ìì ëì ììëëë. êëëê
-íë, READ_ONCE() ë ëëì ììíì íì ëë ëìíìì! READ_ONCE() ê
-ìëë, ìíìëê 'a' ëëíì ëëë 'a' ëëíì ëëë ëëì, 'b' ëì
-ìíìë 'b' ëì ëëë ìíìì ìíí ëë ëì ëìêìì êêë ìëí ì
-ììëë.
+íë, READ_ONCE() ë WRITE_ONCE() ë ìíìíì ìëë íììíìì ëë
+ëìíìì! READ_ONCE() ê ìëë, ìíìëë 'a' ëëíì ëëë 'a' ëëíì
+ëëë ëëì ìíí ì ììëë. WRITE_ONCE() ê ìëë, ìíìëë 'b' ëì
+ìíìë 'b' ëì ëëë ìíìëê ìíí ì ììëë. ë êì ëë ììì
+ìì ìëí ëìêìì êêë ìëí ì ììëë.

ìêë ëì ìëê, ìíìëê ëì 'a' ì êì íì 0ì ìëëê ìëí ì
ìëë, ìì ììì "if" ëì ììì ëìê êì ììí í ìë ììëë:

q = a;
- b = p; /* BUG: Compiler and CPU can both reorder!!! */
+ b = 1; /* BUG: Compiler and CPU can both reorder!!! */

êëë READ_ONCE() ë ëëì ììíìì.

@@ -712,11 +717,11 @@ CPU ë b ëëíì ëë ìíëììì a ëëíì ëë ìíë
q = READ_ONCE(a);
if (q) {
barrier();
- WRITE_ONCE(b, p);
+ WRITE_ONCE(b, 1);
do_something();
} else {
barrier();
- WRITE_ONCE(b, p);
+ WRITE_ONCE(b, 1);
do_something_else();
}

@@ -725,12 +730,12 @@ CPU ë b ëëíì ëë ìíëììì a ëëíì ëë ìíë

q = READ_ONCE(a);
barrier();
- WRITE_ONCE(b, p); /* BUG: No ordering vs. load from a!!! */
+ WRITE_ONCE(b, 1); /* BUG: No ordering vs. load from a!!! */
if (q) {
- /* WRITE_ONCE(b, p); -- moved up, BUG!!! */
+ /* WRITE_ONCE(b, 1); -- moved up, BUG!!! */
do_something();
} else {
- /* WRITE_ONCE(b, p); -- moved up, BUG!!! */
+ /* WRITE_ONCE(b, 1); -- moved up, BUG!!! */
do_something_else();
}

@@ -742,10 +747,10 @@ CPU ë b ëëíì ëë ìíëììì a ëëíì ëë ìíë

q = READ_ONCE(a);
if (q) {
- smp_store_release(&b, p);
+ smp_store_release(&b, 1);
do_something();
} else {
- smp_store_release(&b, p);
+ smp_store_release(&b, 1);
do_something_else();
}

@@ -754,10 +759,10 @@ CPU ë b ëëíì ëë ìíëììì a ëëíì ëë ìíë

q = READ_ONCE(a);
if (q) {
- WRITE_ONCE(b, p);
+ WRITE_ONCE(b, 1);
do_something();
} else {
- WRITE_ONCE(b, r);
+ WRITE_ONCE(b, 2);
do_something_else();
}

@@ -770,10 +775,10 @@ CPU ë b ëëíì ëë ìíëììì a ëëíì ëë ìíë

q = READ_ONCE(a);
if (q % MAX) {
- WRITE_ONCE(b, p);
+ WRITE_ONCE(b, 1);
do_something();
} else {
- WRITE_ONCE(b, r);
+ WRITE_ONCE(b, 2);
do_something_else();
}

@@ -781,7 +786,7 @@ CPU ë b ëëíì ëë ìíëììì a ëëíì ëë ìíë
ìì ìëë ìëì êì ëêëë ì ììëë:

q = READ_ONCE(a);
- WRITE_ONCE(b, p);
+ WRITE_ONCE(b, 1);
do_something_else();

ìëê ëë, CPU ë ëì 'a' ëëíì ëëì ëì 'b' ëì ìíì ììì ììë
@@ -793,10 +798,10 @@ CPU ë b ëëíì ëë ìíëììì a ëëíì ëë ìíë
q = READ_ONCE(a);
BUILD_BUG_ON(MAX <= 1); /* Order load from a with store to b. */
if (q % MAX) {
- WRITE_ONCE(b, p);
+ WRITE_ONCE(b, 1);
do_something();
} else {
- WRITE_ONCE(b, r);
+ WRITE_ONCE(b, 2);
do_something_else();
}

@@ -828,35 +833,33 @@ CPU ë b ëëíì ëë ìíëììì a ëëíì ëë ìíë

q = READ_ONCE(a);
if (q) {
- WRITE_ONCE(b, p);
+ WRITE_ONCE(b, 1);
} else {
- WRITE_ONCE(b, r);
+ WRITE_ONCE(b, 2);
}
- WRITE_ONCE(c, 1); /* BUG: No ordering against the read from "a". */
+ WRITE_ONCE(c, 1); /* BUG: No ordering against the read from 'a'. */

-ìíìëë volatile íìì ëí ìììë ìëì í ì ìê ì ìê íì "b"
+ìíìëë volatile íìì ëí ìììë ìëì í ì ìê ì ìê íì 'b'
ëì ìêë ìëì í ì ìê ëëì ìêì ìì êìì ììíëê ììíê
ìì êëë. ëííë ì êìì, ìíìëë ëìì êìì pseudo-assembly ìì
-ìëìë "b" ëì ëêì ìê ìíëììì conditional-move ììíëììë
+ìëìë 'b' ëì ëêì ìê ìíëììì conditional-move ììíëììë
ëìí ì ììëë:

ld r1,a
- ld r2,p
- ld r3,r
cmp r1,$0
- cmov,ne r4,r2
- cmov,eq r4,r3
+ cmov,ne r4,$1
+ cmov,eq r4,$2
st r4,b
st $1,c

-ìíë ìì êìì CPU ë "a" ëëíì ëëì "c" ëì ìíì ììì ìë
+ìíë ìì êìì CPU ë 'a' ëëíì ëëì 'c' ëì ìíì ììì ìë
ìëì ìììë êì ìì êëë. ì ìíë ìììì ëêì cmov ììíëìê
êêì ììíë ìíì ìêë ììë êëë. ìê ëíìë, ìíë ìììì
ììì if ëì then ìê else ììêë (êëê ì ë ì ëìì íìëë
íìëìêêì) ììëì, ì if ëì ëëëë ìëìë ììëì ììëë.

ëìëìë, ìíë ìììì ìíì (transitivity) ì ìêíì -ììëë-. ìê
-x ì y ê ë ë 0 ìëë ìêêì êìëë êì íì ëêì ììë
+'x' ì 'y' ê ë ë 0 ìëë ìêêì êìëë êì íì ëêì ììë
ëìêìëë:

CPU 0 CPU 1
@@ -924,6 +927,9 @@ http://www.cl.cam.ac.uk/users/pes20/ppc-supplemental/test6.pdf ì
(*) ìíë ìììì ìíìì ìêíì -ììëë-. ìíìì íìíëë,
smp_mb() ë ììíìì.

+ (*) ìíìëë ìíë ìììì ìííê ìì ììëë. ëëì ìíìëê
+ ìëëì ìëë ëêëëì ìëë íëê ìëëì íì íë ììëë.
+

SMP ëëì ìëìê
--------------------
--
2.10.0