Messages in this thread | | | Subject | Re: [PATCH tip/urgent] rcu: add rcu_access_pointer and rcu_dereference_protected | From | Eric Dumazet <> | Date | Wed, 07 Apr 2010 18:38:52 +0200 |
| |
Le mercredi 07 avril 2010 à 09:26 -0700, Paul E. McKenney a écrit : > This patch adds variants of rcu_dereference() that handle situations > where the RCU-protected data structure cannot change, perhaps due to > our holding the update-side lock, or where the RCU-protected pointer is > only to be fetched, not dereferenced. These are needed due to some > performance concerns with using rcu_dereference() where it is not > required, aside from the need for lockdep/sparse checking. > > The new rcu_access_pointer() primitive is for the case where the pointer > is be fetch and not dereferenced. This primitive may be used without > protection, RCU or otherwise, due to the fact that it uses ACCESS_ONCE(). > > The new rcu_dereference_protected() primitive is for the case where updates > are prevented, for example, due to holding the update-side lock. This > primitive does neither ACCESS_ONCE() nor smp_read_barrier_depends(), so > can only be used when updates are somehow prevented. > > Suggested-by: David Howells <dhowells@redhat.com> > Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
-- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |