On Tue, 2019-09-17 at 16:42 +0200, Sebastian Andrzej Siewior wrote: > On 2019-09-17 09:06:28 [-0500], Scott Wood wrote: > > Sorry, I missed that you were asking about rcu_read_lock_bh() as > > well. I > > did remove the change to rcu_read_lock_bh_held(). > > Sorry for not being clear here. > > > With this patch, local_bh_disable() calls rcu_read_lock() on RT which > > handles this debug stuff. Doing it twice shouldn't be explicitly > > harmful, > > but it's redundant, and debug kernels are slow enough as is. > > 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. -Scott