[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH RFC v2 08/15] bpf, x86: Maintain Tasks RCU trampoline nesting in the BPF trampoline



On Sun, Sep 13, 2026 at 12:28:59PM +0100, David Laight wrote:
> On Sat, 12 Sep 2026 15:31:24 -0700
> "Paul E. McKenney" <paulmck@xxxxxxxxxx> 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@xxxxxxxxxx> 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.

These are on top of the patches that provided an order of magnitude
improvement late last year?  Very cool if so!

                                                        Thanx, Paul

> David
> 
> > Plus this change removed some hundreds
> > of lines of RCU code.
> > 
> >                                                     Thanx, Paul
> > 
> 



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.