Re: [PATCH v2] doc: Update recent RCU/SRCU API additions to whatisRCU.rst
From: Paul E. McKenney
Date: Mon Oct 19 2026 - 14:39:52 EST
On Mon, Oct 19, 2026 at 08:22:09PM +0800, Zqiang wrote:
> The following commit introduces some new RCU/SRCU APIs:
>
> Commit 'd3f52f53a562 ("srcu: Create an SRCU-fast-updown API")'
> Commit 'dab06d6f9379 ("srcutree: Add an atomic Tree SRCU")'
> Commit 'cacadb630375 ("srcu: Add guards for notrace variants of SRCU-fast readers")'
> Commit 'fa8a2d55139f ("srcu: Add lock guard for srcu_fast_updown flavor")'
> Commit '954c0d741299 ("srcu: Add guards for SRCU-fast readers")'
>
> This commit therefore update thems and some missing RCU related APIs
> to whatisRCU.rst.
>
> Signed-off-by: Zqiang <qiang.zhang@xxxxxxxxx>
Thank you, for both patches:
Reviewed-by: Paul E. McKenney <paulmck@xxxxxxxxxx>
> ---
> Documentation/RCU/whatisRCU.rst | 24 +++++++++++++++++++++---
> 1 file changed, 21 insertions(+), 3 deletions(-)
>
> diff --git a/Documentation/RCU/whatisRCU.rst b/Documentation/RCU/whatisRCU.rst
> index e6767baff2d3..fe9dc3948690 100644
> --- a/Documentation/RCU/whatisRCU.rst
> +++ b/Documentation/RCU/whatisRCU.rst
> @@ -1084,8 +1084,9 @@ RCU::
> rcu_dereference call_rcu
> rcu_dereference_check call_rcu_hurry
> rcu_dereference_protected kfree_rcu
> - rcu_read_lock_held kvfree_rcu
> - rcu_read_lock_any_held kfree_rcu_mightsleep
> + rcu_dereference_all kvfree_rcu
> + rcu_read_lock_held kfree_rcu_mightsleep
> + rcu_read_lock_any_held kvfree_rcu_mightsleep
> rcu_pointer_handoff cond_synchronize_rcu
> unrcu_pointer cond_synchronize_rcu_full
> cond_synchronize_rcu_expedited
> @@ -1209,13 +1210,23 @@ SRCU::
> srcu_read_lock_nmisafe start_poll_synchronize_srcu
> srcu_read_unlock_nmisafe start_poll_synchronize_srcu_expedited
> srcu_read_lock_notrace poll_state_synchronize_srcu
> - srcu_read_unlock_notrace
> + srcu_read_unlock_notrace synchronize_srcu_atomic
> srcu_down_read
> srcu_up_read
> srcu_down_read_fast
> srcu_up_read_fast
> + srcu_read_lock_fast_updown
> + srcu_read_unlock_fast_updown
> + srcu_read_lock_atomic
> + srcu_read_unlock_atomic
> guard(srcu)()
> + guard(srcu_fast)()
> + guard(srcu_fast_notrace)()
> + guard(srcu_fast_updown)()
> scoped_guard(srcu)
> + scoped_guard(srcu_fast)
> + scoped_guard(srcu_fast_notrace)
> + scoped_guard(srcu_fast_updown)
> srcu_read_lock_held
> srcu_dereference
> srcu_dereference_check
> @@ -1229,9 +1240,16 @@ SRCU: Initialization/cleanup/ordering::
> DEFINE_STATIC_SRCU
> DEFINE_SRCU_FAST // for srcu_read_lock_fast() and friends
> DEFINE_STATIC_SRCU_FAST // for srcu_read_lock_fast() and friends
> + DEFINE_SRCU_FAST_UPDOWN // for srcu_read_lock_fast_updown() and friends
> + DEFINE_STATIC_SRCU_FAST_UPDOWN // for srcu_read_lock_fast_updown() and friends
> + DEFINE_SRCU_ATOMIC // for srcu_read_lock_atomic() and friends
> + DEFINE_STATIC_SRCU_ATOMIC // for srcu_read_lock_atomic() and friends
> init_srcu_struct
> init_srcu_struct_fast
> + init_srcu_struct_fast_updown
> + init_srcu_struct_atomic
> cleanup_srcu_struct
> + smp_mb__after_srcu_read_lock
> smp_mb__after_srcu_read_unlock
>
> All: lockdep-checked RCU utility APIs::
> --
> 2.17.1
>