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

Reply via email to