[PATCH rcu 0/19] SRCU updates for v5.18

Paul E. McKenney posted 19 patches 4 years, 4 months ago
Documentation/admin-guide/kernel-parameters.txt   |    9
b/Documentation/admin-guide/kernel-parameters.txt |   22
b/include/linux/srcutree.h                        |    8
b/kernel/rcu/srcutree.c                           |    6
include/linux/srcutree.h                          |   20
kernel/rcu/srcutree.c                             |  644 +++++++++++++++-------
6 files changed, 500 insertions(+), 209 deletions(-)
[PATCH rcu 0/19] SRCU updates for v5.18
Posted by Paul E. McKenney 4 years, 4 months ago
Hello!

This series provides SRCU updates, perhaps most notably some changes
that greatly reduce the size of the srcu_struct structure in kernels
built with large values for the CONFIG_NR_CPUS Kconfig option.

1.	Tighten cleanup_srcu_struct() GP checks.

2.	Fix s/is/if/ typo in srcu_node comment.

3.	Make srcu_funnel_gp_start() cache ->mynode in snp_leaf.

4.	Dynamically allocate srcu_node array.

5.	Make Tree SRCU able to operate without snp_node array.

6.	Add size-state transitioning code.

7.	Make rcutorture dump the SRCU size state.

8.	Add boot-time control over srcu_node array allocation.

9.	Use export for srcu_struct defined by DEFINE_STATIC_SRCU(),
	courtesy of Alexander Aring.

10.	Compute snp_seq earlier in srcu_funnel_gp_start().

11.	Use invalid initial value for srcu_node GP sequence numbers.

12.	Avoid NULL dereference in srcu_torture_stats_print().

13.	Prevent cleanup_srcu_struct() from freeing non-dynamic ->sda.

14.	Explain srcu_funnel_gp_start() call to list_add() is safe.

15.	Create concurrency-safe helper for initiating size transition.

16.	Add contention-triggered addition of srcu_node tree.

17.	Make srcu_size_state_name static, courtesy of Jiapeng Chong.

18.	Automatically determine size-transition strategy at boot.

19.	Add contention check to call_srcu() srcu_data ->lock acquisition.

						Thanx, Paul

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

 Documentation/admin-guide/kernel-parameters.txt   |    9 
 b/Documentation/admin-guide/kernel-parameters.txt |   22 
 b/include/linux/srcutree.h                        |    8 
 b/kernel/rcu/srcutree.c                           |    6 
 include/linux/srcutree.h                          |   20 
 kernel/rcu/srcutree.c                             |  644 +++++++++++++++-------
 6 files changed, 500 insertions(+), 209 deletions(-)