Re: [PATCH 03/21] rcu: Add a note about noinstr VS unsafe eqs functions

From: Frederic Weisbecker
Date: Thu May 19 2022 - 11:03:13 EST


On Thu, May 19, 2022 at 04:48:21PM +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.
>
> No need to speculate on how to solve it; the generic entry code has
> alternatives that are good. It's just that reworking your architecture
> isn't trivial.

Speaking of, please have a look at this:

https://lore.kernel.org/all/20220518162118.GA2661055@paulmck-ThinkPad-P17-Gen-1/