Messages in this thread | | | Date | Thu, 19 May 2022 08:26:11 -0700 | From | "Paul E. McKenney" <> | Subject | Re: [PATCH 03/21] rcu: Add a note about noinstr VS unsafe eqs functions |
| |
On Thu, May 19, 2022 at 04:54:38PM +0200, Peter Zijlstra wrote: > On Tue, May 03, 2022 at 12:00:33PM +0200, Frederic Weisbecker wrote: > > Some RCU functions enter or exit into/from RCU idle mode while using > > trace-able and lockdep-aware IRQs (un-)masking. This could be easily > > solved with using raw versions of local_irq_*() but we would then > > lose some precious debugging informations. > > > > Another possible way to solve this may consist in using rude RCU-tasks > > in lockdep and irqsoff tracing. > > > > In any case and until this get solved, those RCU functions can't get > > tagged as noinstr even though they should. > > FWIW, this also means RCU_NONIDLE() is broken. Luckily there aren't many > users left.
More to the point, rcu_irq_enter_irqson() and rcu_irq_exit_irqson() need the same help that rcu_idle_enter() and rcu_idle_exit() got earlier this week [1], independent of RCU_NONIDLE().
Unless Frederic beats me to it, I will queue something up.
Thanx, Paul
[1] https://lore.kernel.org/all/20220518162118.GA2661055@paulmck-ThinkPad-P17-Gen-1/
| |