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