Re: [PATCH v4 1/2] rcu: uninline rcu_lock_acquire() and rcu_lock_release()

From: Oleg Nesterov
Date: Tue Jul 01 2014 - 12:41:52 EST


On 07/01, Peter Zijlstra wrote:
>
> On Mon, Jun 30, 2014 at 06:18:49PM +0200, Oleg Nesterov wrote:
> > +static inline void __rcu_lock_acquire(struct lockdep_map *map, unsigned long ip)
> > {
> > + lock_acquire(map, 0, 0, 2, 0, NULL, ip);
> > }
>
> > +extern void rcu_lock_acquire(void);
> > +extern void rcu_lock_release(void);
> > +extern void rcu_lock_acquire_bh(void);
> > +extern void rcu_lock_release_bh(void);
> > +extern void rcu_lock_acquire_sched(void);
> > +extern void rcu_lock_release_sched(void);
>
> > diff --git a/include/linux/srcu.h b/include/linux/srcu.h
> > index a2783cb..5c06289 100644
> > --- a/include/linux/srcu.h
> > +++ b/include/linux/srcu.h
> > @@ -219,7 +219,7 @@ static inline int srcu_read_lock(struct srcu_struct *sp) __acquires(sp)
> > {
> > int retval = __srcu_read_lock(sp);
> >
> > - rcu_lock_acquire(&(sp)->dep_map);
> > + __rcu_lock_acquire(&(sp)->dep_map, _THIS_IP_);
> > return retval;
> > }
>
> Would an srcu_lock_acquire() not make sense here?
>
> In any case, not wrong per se, just a consistency thing that stood out.

Yes, I looked at this too...

But probably it would be better to just add __rcu_lock_acquire() into
__srcu_read_lock(), and kill that inline in srcu.h ?

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/