summaryrefslogtreecommitdiffstats
path: root/Documentation/RCU
diff options
context:
space:
mode:
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>2014-02-12 20:19:47 -0800
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2014-02-17 14:56:09 -0800
commit9b2b3bf53124dca4ac815bd2fca53a31e5e262bd (patch)
tree7984451c41db3ca509fc860a00e2e81d727a2dcc /Documentation/RCU
parentbbf393b0d5350d68dbcf1f231b8af07b1b31121d (diff)
downloadlinux-9b2b3bf53124dca4ac815bd2fca53a31e5e262bd.tar.gz
linux-9b2b3bf53124dca4ac815bd2fca53a31e5e262bd.tar.bz2
linux-9b2b3bf53124dca4ac815bd2fca53a31e5e262bd.zip
Documentation/memory-barriers.txt: Need barriers() for some control dependencies
Current compilers can "speculate" stores in the case where both legs of the "if" statement start with identical stores. Because the stores are identical, the compiler knows that the store will unconditionally execute regardless of the "if" condition, and so the compiler is within its rights to hoist the store to precede the condition. Such hoisting destroys the control-dependency ordering. This ordering can be restored by placing a barrier() at the beginning of each leg of the "if" statement. This commit adds this requirement to the control-dependencies section. Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Diffstat (limited to 'Documentation/RCU')
0 files changed, 0 insertions, 0 deletions