Re: [PATCH v2 00/12] uprobes: add batched register/unregister APIs and per-CPU RW semaphore

Paul E. McKenney
2024-07-04T15:13:45Z

On Thu, Jul 04, 2024 at 10:39:35AM +0200, Peter Zijlstra wrote:
> On Wed, Jul 03, 2024 at 07:08:21AM -0700, Paul E. McKenney wrote:
> > On Wed, Jul 03, 2024 at 09:50:57AM +0200, Peter Zijlstra wrote:
>
> > > Would it make sense to disable it for those architectures that have
> > > already done this work?
> >
> > It might well. Any architectures other than x86 at this point?
>
> Per 408b961146be ("tracing: WARN on rcuidle")
> and git grep "select.*ARCH_WANTS_NO_INSTR"
> arch/arm64/Kconfig: select ARCH_WANTS_NO_INSTR
> arch/loongarch/Kconfig: select ARCH_WANTS_NO_INSTR
> arch/riscv/Kconfig: select ARCH_WANTS_NO_INSTR
> arch/s390/Kconfig: select ARCH_WANTS_NO_INSTR
> arch/x86/Kconfig: select ARCH_WANTS_NO_INSTR
>
> I'm thinking you can simply use that same condition here?

New one on me! And it does look like that would work, and it also
looks like other code assumes that these architectures have all of their
deep-idle and entry/exit functions either inlined or noinstr-ed, so it
should be OK for Tasks Trace Rude to do likewise. Thank you!!!

If you would like a sneak preview, please see the last few commits on
the "dev" branch of -rcu. And this is easier than my original plan
immortalized (at least temporarily) on the "dev.2024.07.02a" branch.

Things left to do: (1) Rebase fixes into original commits. (2)
Make RCU Tasks stop ignoring idle tasks. (3) Reorder the commits
for bisectability. (4) Make rcutorture test RCU Tasks Rude even when
running on platforms that don't need it. (5) Fix other bugs that I have
not yet spotted.

I expect to post an RFC patch early next week. Unless there is some
emergency, I will slate these for the v6.12 merge window to give them
some soak time.

Thanx, Paul