From: Frederic Weisbecker <frederic@kernel.org>
To: "Paul E. McKenney" <paulmck@kernel.org>
Cc: rcu@vger.kernel.org, linux-kernel@vger.kernel.org,
kernel-team@meta.com, rostedt@goodmis.org
Subject: Re: [PATCH v2 0/16] SRCU updates for v6.19
Date: Thu, 6 Nov 2025 00:00:19 +0100 [thread overview]
Message-ID: <aQvXA3A5XHn-Tjhh@pavilion.home> (raw)
In-Reply-To: <bb177afd-eea8-4a2a-9600-e36ada26a500@paulmck-laptop>
Le Wed, Nov 05, 2025 at 12:31:00PM -0800, Paul E. McKenney a écrit :
> Hello!
>
> This series creates an srcu_expedite_current() function that allows
> after-the-fact expediting of SRCU grace periods, adds a DEFINE_SRCU_FAST()
> that further speeds things up by removing a conditional branch from
> srcu_read_lock_fast*(), updates documentation, uses SRCU-fast to guard
> event traces in PREEMPT_RT kernel (thus making such kernels safe for
> event tracing), adds srcu_read_{,un}lock_fast_updown() functions that are
> compatible with srcu_down_read() and srcu_up_read(), but do not permit
> use in NMI handlers (to permit further optimization of SRCU-fast readers
> by relieving them of the need to deal with irq/softirq/NMI handlers with
> unbalanced lock/unlock calls), and optimizes SRCU-fast-updown for large
> ARM servers that use LSE. It is expected that this optimization will be
> obsoleted by some arm64 architecture-specific work:
>
> https://lore.kernel.org/all/aQU7l-qMKJTx4znJ@arm.com/
>
> The patches are as follows:
>
> 1. Permit Tiny SRCU srcu_read_unlock() with interrupts disabled.
>
> 2. Create an srcu_expedite_current() function.
>
> 3. Test srcu_expedite_current().
>
> 4. Create a DEFINE_SRCU_FAST().
>
> 5. Make grace-period determination use ssp->srcu_reader_flavor.
>
> 6. Exercise DEFINE_STATIC_SRCU_FAST() and init_srcu_struct_fast().
>
> 7. Require special srcu_struct define/init for SRCU-fast readers.
>
> 8. Make SRCU-fast readers enforce use of SRCU-fast definition/init.
>
> 9. Update for SRCU-fast definitions and initialization.
>
> 10. Guard __DECLARE_TRACE() use of __DO_TRACE_CALL() with SRCU-fast.
>
> 11. Mark diagnostic functions as notrace.
>
> 12. Add SRCU_READ_FLAVOR_FAST_UPDOWN CPP macro.
>
> 13. Permit negative kvm.sh --kconfig numberic arguments.
>
> 14. Create an SRCU-fast-updown API.
>
> 15. Optimize SRCU-fast-updown for arm64.
>
> 16. Make srcu{,d}_torture_init() announce the SRCU type.
>
> Changes since v1:
>
> o Merge addition and testing of SRCU-fast-updown for bisectability.
>
> https://lore.kernel.org/all/082fb8ba-91b8-448e-a472-195eb7b282fd@paulmck-laptop/
>
> Many of these patches were previously associated with another series
> that re-implemented RCU tasks trace in terms of SRCU-fast. This work
> is being deferred pending resolution of the ARM LSE situation on the one
> hand or full debugging of the all-too-clever workaround optimization on
> the other. ;-)
>
> https://lore.kernel.org/all/7fa58961-2dce-4e08-8174-1d1cc592210f@paulmck-laptop/
>
> Thanx, Paul
Applied to rcu/srcu, thanks!
--
Frederic Weisbecker
SUSE Labs
next prev parent reply other threads:[~2025-11-05 23:00 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-05 20:31 [PATCH v2 0/16] SRCU updates for v6.19 Paul E. McKenney
2025-11-05 20:32 ` [PATCH v2 01/16] srcu: Permit Tiny SRCU srcu_read_unlock() with interrupts disabled Paul E. McKenney
2025-11-05 20:32 ` [PATCH v2 02/16] srcu: Create an srcu_expedite_current() function Paul E. McKenney
2025-11-05 20:32 ` [PATCH v2 03/16] rcutorture: Test srcu_expedite_current() Paul E. McKenney
2025-11-05 20:32 ` [PATCH v2 04/16] srcu: Create a DEFINE_SRCU_FAST() Paul E. McKenney
2025-11-05 20:32 ` [PATCH v2 05/16] srcu: Make grace-period determination use ssp->srcu_reader_flavor Paul E. McKenney
2025-11-05 20:32 ` [PATCH v2 06/16] rcutorture: Exercise DEFINE_STATIC_SRCU_FAST() and init_srcu_struct_fast() Paul E. McKenney
2025-11-05 20:32 ` [PATCH v2 07/16] srcu: Require special srcu_struct define/init for SRCU-fast readers Paul E. McKenney
2025-11-05 20:32 ` [PATCH v2 08/16] srcu: Make SRCU-fast readers enforce use of SRCU-fast definition/init Paul E. McKenney
2025-11-05 20:32 ` [PATCH v2 09/16] doc: Update for SRCU-fast definitions and initialization Paul E. McKenney
2025-11-05 20:32 ` [PATCH v2 10/16] tracing: Guard __DECLARE_TRACE() use of __DO_TRACE_CALL() with SRCU-fast Paul E. McKenney
2025-11-06 16:02 ` Steven Rostedt
2025-11-06 17:01 ` Paul E. McKenney
2025-11-06 17:10 ` Steven Rostedt
2025-11-06 17:52 ` Paul E. McKenney
2025-11-07 0:03 ` Steven Rostedt
2025-11-07 1:04 ` Paul E. McKenney
2025-11-07 1:16 ` Steven Rostedt
2025-11-07 1:53 ` Paul E. McKenney
2025-11-07 12:58 ` Steven Rostedt
2025-11-05 20:32 ` [PATCH v2 11/16] rcu: Mark diagnostic functions as notrace Paul E. McKenney
2025-11-05 20:32 ` [PATCH v2 12/16] srcu: Add SRCU_READ_FLAVOR_FAST_UPDOWN CPP macro Paul E. McKenney
2025-11-05 20:32 ` [PATCH v2 13/16] torture: Permit negative kvm.sh --kconfig numberic arguments Paul E. McKenney
2025-11-05 20:32 ` [PATCH v2 14/16] srcu: Create an SRCU-fast-updown API Paul E. McKenney
2025-11-25 14:18 ` Frederic Weisbecker
2025-11-25 15:54 ` Paul E. McKenney
2025-11-26 14:06 ` Frederic Weisbecker
2025-11-26 17:09 ` Paul E. McKenney
2025-11-05 20:32 ` [PATCH v2 15/16] srcu: Optimize SRCU-fast-updown for arm64 Paul E. McKenney
2025-11-08 13:07 ` Will Deacon
2025-11-08 18:38 ` Paul E. McKenney
2025-11-10 11:24 ` Will Deacon
2025-11-10 17:29 ` Paul E. McKenney
2025-11-24 13:04 ` Will Deacon
2025-11-24 17:20 ` Paul E. McKenney
2025-11-24 22:47 ` Frederic Weisbecker
2025-11-25 11:40 ` Will Deacon
2025-11-05 20:32 ` [PATCH v2 16/16] rcutorture: Make srcu{,d}_torture_init() announce the SRCU type Paul E. McKenney
2025-11-05 23:00 ` Frederic Weisbecker [this message]
2025-11-06 16:06 ` [PATCH v2 0/16] SRCU updates for v6.19 Steven Rostedt
2025-11-07 12:48 ` Frederic Weisbecker
2025-11-07 16:57 ` Paul E. McKenney
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aQvXA3A5XHn-Tjhh@pavilion.home \
--to=frederic@kernel.org \
--cc=kernel-team@meta.com \
--cc=linux-kernel@vger.kernel.org \
--cc=paulmck@kernel.org \
--cc=rcu@vger.kernel.org \
--cc=rostedt@goodmis.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.