• Paul E. McKenney's avatar
    rcu: Fix and comment ordering around wait_event() · 78e4bc34
    Paul E. McKenney authored
    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: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
    78e4bc34
tree.c 107 KB