On Wed, Mar 13, 2019 at 11:07:30AM -0700, Paul E. McKenney wrote: > On Wed, Mar 13, 2019 at 12:51:25PM -0400, Steven Rostedt wrote: > > On Wed, 13 Mar 2019 08:51:55 -0700 > > "Paul E. McKenney" <paul...@linux.ibm.com> wrote: > > > > > Does this mean that there is a better approach that Joel's suggestion? > > > I believe he would end up with something like this: > > > > > > WARN_ON_ONCE(IS_ENABLED(CONFIG_PROVE_RCU) && !in_irq()); > > > > > > It would be nice if there is something like this: > > > > > > lockdep_assert_in_irq_handler(); > > > > > > But I haven't seen this. (Not that I have looked particularly hard for > > > such a thing, mind you!) > > > > That would be trivial to implement: > > > > #define lockdep_assert_in_irq() do { > > WARN_ON(debug_locks && !current->hardirq_context); > > } while (0) > > Looks good to me! > > Joel, does this work for you? I could be wrong, but I suspect that Steve > is suggesting that you incorporate the above into your eventual patch. ;-)
Oh thanks for pointing that out. Yes it does work for me. I agree with the lockdep API addition and others could benefit from it too. I will incorporate the lockdep API addition into the RCU patch, but let me know if I should rather split it. thanks! - Joel