Re: [PATCH tip/core/rcu 9/9] rcu: Provide counterpart to rcu_dereference() for non-RCU situations

From: Oleg Nesterov
Date: Wed Oct 29 2014 - 14:19:31 EST


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@xxxxxxxxxxxxxxxxxx>
> > >
> > > 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@xxxxxxxxxxxxxxxxxx>
> > > Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>
> > > ---
> >
> > > +#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.

Oleg.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/