[PATCH rcu 0/9] SRCU updates for v6.3

From: Paul E. McKenney
Date: Wed Jan 04 2023 - 19:32:55 EST


Hello!

This series provides SRCU updates, perhaps most notably the addition
of a srcu_down_read() and srcu_up_read() that act like srcu_read_lock()
and srcu_read_unlock(), but which permit the srcu_up_read() to be invoked
from a different context than the srcu_down_read().

1. Release early_srcu resources when no longer in use, courtesy
of Zqiang.

2. Delegate work to the boot cpu if using SRCU_SIZE_SMALL, courtesy
of Pingfan Liu.

3. Fix a misspelling in comment, courtesy of Pingfan Liu.

4. Fix the comparision in srcu_invl_snp_seq(), courtesy of Pingfan
Liu.

5. Add srcu_down_read() and srcu_up_read().

6. Add test code for semaphore-like SRCU readers.

7. Remove needless rcu_seq_done() check while holding read lock,
courtesy of Pingfan Liu.

8. Yet more detail for srcu_readers_active_idx_check() comments.

9. Update comment after the index flip.

Thanx, Paul

------------------------------------------------------------------------

b/include/linux/srcu.h | 45 ++++++++++++++++++++++
b/include/linux/srcutree.h | 2 -
b/kernel/rcu/srcutree.c | 9 ++--
b/kernel/rcu/update.c | 1
kernel/rcu/srcutree.c | 89 ++++++++++++++++++++++++++++++++-------------
kernel/rcu/update.c | 3 +
6 files changed, 119 insertions(+), 30 deletions(-)