Re: [PATCH v2] doc: Update recent RCU/SRCU API additions to whatisRCU.rst
From: Bradley Morgan
Date: Mon Oct 19 2026 - 11:58:44 EST
On 19 October 2026 13:22:09 BST, Zqiang <qiang.zhang@xxxxxxxxx> 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.
>
Since this relates to my patch, and it looks good:
Acked-by: Bradley Morgan <brads@xxxxxxxxxxxxxx>
>Signed-off-by: Zqiang <qiang.zhang@xxxxxxxxx>
>---
> 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::
>
--- Thanks!
"I'm not a very positive person" - Linus torvalds