Re: [PATCH RT v3 1/5] rcu: Acquire RCU lock when disabling BHs

From: Sebastian Andrzej Siewior
Date: Mon Sep 23 2019 - 12:41:05 EST


On 2019-09-17 11:12:48 [-0500], Scott Wood wrote:
> > rcu_read_lock() does:
> > > __rcu_read_lock();
> > > __acquire(RCU);
> > > rcu_lock_acquire(&rcu_lock_map);
> > > RCU_LOCKDEP_WARN(!rcu_is_watching(),
> > > "rcu_read_lock() used illegally while idle");
> >
> > __acquire() is removed removed by cpp.
> > That RCU_LOCKDEP_WARN is doing the same thing as above and redundant.
> > Am I right to assume that you consider
> > rcu_lock_acquire(&rcu_bh_lock_map);
> >
> > redundant because the only user of that is also checking for
> > rcu_lock_map?
> Yes.

I'm going to drop that hunk. It makes the patch smaller and result more
obvious. If the additional lock annotation (rcu_bh_lock_map) is too much
then we can still remove it later entirely (for RT) but for now I would
like to keep the changes simple and small.

> -Scott

Sebastian