On Fri, 2019-08-23 at 18:17 +0200, Sebastian Andrzej Siewior wrote: > On 2019-08-22 22:23:23 [-0500], Scott Wood wrote: > > On Thu, 2019-08-22 at 09:39 -0400, Joel Fernandes wrote: > > > On Wed, Aug 21, 2019 at 04:33:58PM -0700, Paul E. McKenney wrote: > > > > On Wed, Aug 21, 2019 at 06:19:04PM -0500, Scott Wood wrote: > > > > > Signed-off-by: Scott Wood <swood@xxxxxxxxxx> > > > > > --- > > > > > Another question is whether non-raw spinlocks are intended to > > > > > create > > > > > an > > > > > RCU read-side critical section due to implicit preempt disable. > > > > > > > > Hmmm... Did non-raw spinlocks act like rcu_read_lock_sched() > > > > and rcu_read_unlock_sched() pairs in -rt prior to the RCU flavor > > > > consolidation? If not, I don't see why they should do so after that > > > > consolidation in -rt. > > > > > > May be I am missing something, but I didn't see the connection between > > > consolidation and this patch. AFAICS, this patch is so that > > > rcu_read_lock_bh_held() works at all on -rt. Did I badly miss > > > something? > > > > Before consolidation, RT mapped rcu_read_lock_bh_held() to > > rcu_read_lock_bh() and called rcu_read_lock() from > > rcu_read_lock_bh(). This > > somehow got lost when rebasing on top of 5.0. > > so now rcu_read_lock_bh_held() is untouched and in_softirq() reports 1. > So the problem is that we never hold RCU but report 1 like we do? Yes. -Scott