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? > -Scott Sebastian