[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <66ee4f2d-9885-446a-996f-801a1fe62a68@paulmck-laptop>
Date: Tue, 25 Nov 2025 07:54:33 -0800
From: "Paul E. McKenney" <paulmck@...nel.org>
To: Frederic Weisbecker <frederic@...nel.org>
Cc: rcu@...r.kernel.org, linux-kernel@...r.kernel.org, kernel-team@...a.com,
rostedt@...dmis.org, Andrii Nakryiko <andrii@...nel.org>,
Alexei Starovoitov <ast@...nel.org>,
Peter Zijlstra <peterz@...radead.org>, bpf@...r.kernel.org
Subject: Re: [PATCH v2 14/16] srcu: Create an SRCU-fast-updown API
On Tue, Nov 25, 2025 at 03:18:25PM +0100, Frederic Weisbecker wrote:
> Le Wed, Nov 05, 2025 at 12:32:14PM -0800, Paul E. McKenney a écrit :
> > This commit creates an SRCU-fast-updown API, including
> > DEFINE_SRCU_FAST_UPDOWN(), DEFINE_STATIC_SRCU_FAST_UPDOWN(),
> > __init_srcu_struct_fast_updown(), init_srcu_struct_fast_updown(),
> > srcu_read_lock_fast_updown(), srcu_read_unlock_fast_updown(),
> > __srcu_read_lock_fast_updown(), and __srcu_read_unlock_fast_updown().
> >
> > These are initially identical to their SRCU-fast counterparts, but both
> > SRCU-fast and SRCU-fast-updown will be optimized in different directions
> > by later commits. SRCU-fast will lack any sort of srcu_down_read() and
> > srcu_up_read() APIs, which will enable extremely efficient NMI safety.
> > For its part, SRCU-fast-updown will not be NMI safe, which will enable
> > reasonably efficient implementations of srcu_down_read_fast() and
> > srcu_up_read_fast().
>
> Doing a last round of reviews before sitting down on a pull request,
> I think the changelog in this one should mention what are the expected
> uses of SRCU-fast-updown, since the RCU-TASK-TRACE conversion bits aren't
> there for this merge window yet.
The RCU Tasks Trace conversion is helped by RCU-fast. RCU-fast-updown
is needed for Andrii's uretprobes code in order to get rid of the
read-side memory barriers while still allowing entering the reader at
task level while exiting it in a timer handler.
Does any of that help?
Oh, and commit-by-commit testing passed this past evening, so still
looking good there!
Thanx, Paul
Powered by blists - more mailing lists