lkml.org 
[lkml]   [2014]   [Oct]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH tip/core/rcu 9/9] rcu: Provide counterpart to rcu_dereference() for non-RCU situations
On Wed, Oct 29, 2014 at 08:15:19PM +0100, Oleg Nesterov wrote:
> On 10/29, Paul E. McKenney wrote:
> >
> > On Wed, Oct 29, 2014 at 11:57:04AM +0100, Peter Zijlstra wrote:
> > > On Tue, Oct 28, 2014 at 03:10:02PM -0700, Paul E. McKenney wrote:
> > > > From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
> > > >
> > > > Although rcu_dereference() and friends can be used in situations where
> > > > object lifetimes are being managed by something other than RCU, the
> > > > resulting sparse and lockdep-RCU noise can be annoying. This commit
> > > > therefore supplies a lockless_dereference(), which provides the
> > > > protection for dereferences without the RCU-related debugging noise.
> > > >
> > > > Reported-by: Al Viro <viro@ZenIV.linux.org.uk>
> > > > Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
> > > > ---
> > >
> > > > +#define lockless_dereference(p) \
> > > > +({ \
> > > > + typeof(p) _________p1 = ACCESS_ONCE(p); \
> > > > + smp_read_barrier_depends(); /* Dependency order vs. p above. */ \
> > > > + (_________p1); \
> > > > +})
> > >
> > > Should we not have at least a single user along with this?
> >
> > And we do. In fact, Al Viro has pulled this into his vfs.git tree and
> > so I will be dropping this patch in favor of his.
>
> And it seems that most of smp_read_barrier_depends() users can be changed
> to use this helper.

Good point! I guess I should have done this some time ago. ;-)

Thanx, Paul



\
 
 \ /
  Last update: 2014-10-29 20:21    [W:0.051 / U:0.480 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site