diff options
author | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2013-09-24 15:04:06 -0700 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2013-12-03 10:10:18 -0800 |
commit | 78e4bc34e5d966cfd95f1238565afc399d56225c (patch) | |
tree | e430291c48ec41b22e31865bf5aa13c4db87a3cb /kernel/rcu/tree.h | |
parent | 6193c76aba8ec3cc5f083c35efbab9ed924125f6 (diff) | |
download | linux-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