summaryrefslogtreecommitdiffstats
path: root/kernel/rcu/tree.h
diff options
context:
space:
mode:
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>2013-09-24 15:04:06 -0700
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2013-12-03 10:10:18 -0800
commit78e4bc34e5d966cfd95f1238565afc399d56225c (patch)
treee430291c48ec41b22e31865bf5aa13c4db87a3cb /kernel/rcu/tree.h
parent6193c76aba8ec3cc5f083c35efbab9ed924125f6 (diff)
downloadlinux-78e4bc34e5d966cfd95f1238565afc399d56225c.tar.gz
linux-78e4bc34e5d966cfd95f1238565afc399d56225c.tar.bz2
linux-78e4bc34e5d966cfd95f1238565afc399d56225c.zip
rcu: Fix and comment ordering around wait_event()
It is all too easy to forget that wait_event() does not necessarily imply a full memory barrier. The case where it does not is where the condition transitions to true just as wait_event() starts execution. This is actually a feature: The standard use of wait_event() involves locking, in which case the locks provide the needed ordering (you hold a lock across the wake_up() and acquire that same lock after wait_event() returns). Given that I did forget that wait_event() does not necessarily imply a full memory barrier in one case, this commit fixes that case. This commit also adds comments calling out the placement of existing memory barriers relied on by wait_event() calls. Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Diffstat (limited to 'kernel/rcu/tree.h')
0 files changed, 0 insertions, 0 deletions