Boqun Feng 67c583a7de RCU: Privatize rcu_node::lock
In patch:

"rcu: Add transitivity to remaining rcu_node ->lock acquisitions"

All locking operations on rcu_node::lock are replaced with the wrappers
because of the need of transitivity, which indicates we should never
write code using LOCK primitives alone(i.e. without a proper barrier
following) on rcu_node::lock outside those wrappers. We could detect
this kind of misuses on rcu_node::lock in the future by adding __private
modifier on rcu_node::lock.

To privatize rcu_node::lock, unlock wrappers are also needed. Replacing
spinlock unlocks with these wrappers not only privatizes rcu_node::lock
but also makes it easier to figure out critical sections of rcu_node.

This patch adds __private modifier to rcu_node::lock and makes every
access to it wrapped by ACCESS_PRIVATE(). Besides, unlock wrappers are
added and raw_spin_unlock(&rnp->lock) and its friends are replaced with
those wrappers.

Signed-off-by: Boqun Feng <boqun.feng@gmail.com>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
2016-02-23 19:59:54 -08:00
..
2016-01-12 17:06:53 -05:00
2016-01-22 18:04:28 -05:00
2015-12-04 22:46:25 +01:00
2016-02-23 19:59:54 -08:00
2016-01-22 18:04:28 -05:00
2016-01-21 00:43:21 +01:00
2015-11-19 17:51:48 +01:00
2016-01-22 18:04:28 -05:00
2016-01-22 18:04:28 -05:00
2015-12-14 14:54:37 -05:00
2016-01-14 16:00:49 -08:00
2015-11-23 09:44:58 +01:00
2016-01-22 18:04:28 -05:00