Files
linux/kernel
Paul E. McKenney c847f14217 rcu: Avoid misordering in nocb_leader_wait()
The NOCB follower wakeup ordering depends on the store to the tail
pointer happening before the wakeup.  However, because atomic_long_add()
does not return a value, it does not provide ordering guarantees, and
the locking in wake_up() only guarantees that the store will happen
before the unlock, which might be too late.  Even though this is only a
theoretical issue, this commit adds a smp_mb__after_atomic() after the
final atomic_long_add() to provide the needed ordering guarantee.

Reported-by: Amit Shah <amit.shah@redhat.com>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Tested-by: Paul Gortmaker <paul.gortmaker@windriver.com>
2014-09-16 10:08:03 -07:00
..
2014-06-12 16:18:45 +02:00
2014-08-08 15:57:18 -07:00
2014-07-05 11:17:45 +02:00
2014-08-08 15:57:32 -07:00
2014-08-08 15:57:24 -07:00
2014-07-17 22:07:37 +02:00
2014-08-08 15:57:22 -07:00
2014-08-08 15:57:24 -07:00