[PATCH RFC v2 08/15] bpf, x86: Maintain Tasks RCU trampoline nesting in the BPF trampoline
David Laight
david.laight.linux at gmail.com
Sun Sep 13 04:28:59 PDT 2026
On Sat, 12 Sep 2026 15:31:24 -0700
"Paul E. McKenney" <paulmck at kernel.org> wrote:
> On Sat, Sep 12, 2026 at 10:14:00PM +0100, David Laight wrote:
> > On Sat, 12 Sep 2026 11:03:34 -0700
> > "Paul E. McKenney" <paulmck at kernel.org> wrote:
> >
> > > In the old kernels, yes, we have current->trc_reader_nesting++.
> > > In the newer kernels, Tasks Trace RCU is instead implemented in terms
> > > of SRCU-fast, which instead increments per-CPU counters. Which among
> > > other thins is a bit faster and does not need to hook into the scheduler.
> >
> > Isn't that rather architecture dependant?
> > It is fine on x86, but on arm incrementing a per-cpu variable is
> > significantly expensive.
>
> Last I heard, slow ARM increments of per-CPU variables were to be a
> transitory phenomemon. Plus changes late last year greatly sped up the
> per-CPU increment operations.
There are some unapplied patches to improve per-cpu operations for both
arm64 and s390.
Without those preemption has to be disabled (in current->xxx) which requires
a conditional call in the preempt enable path.
David
> Plus this change removed some hundreds
> of lines of RCU code.
>
> Thanx, Paul
>
More information about the linux-arm-kernel
mailing list