On Sat, 12 Sep 2026 15:31:24 -0700 "Paul E. McKenney" <[email protected]> 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" <[email protected]> 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 >
