diff options
author | Zqiang <qiang1.zhang@intel.com> | 2022-11-10 10:30:13 +0300 |
---|---|---|
committer | Paul E. McKenney <paulmck@kernel.org> | 2023-01-04 04:49:22 +0300 |
commit | 66ea1029f9b839fbcc10d97ddc93a05c72b3acc1 (patch) | |
tree | 6c20b21e488fefea05f391df4536a42e10f1d02f | |
parent | 1b929c02afd37871d5afb9d498426f83432e71c2 (diff) | |
download | linux-66ea1029f9b839fbcc10d97ddc93a05c72b3acc1.tar.xz |
srcu: Release early_srcu resources when no longer in use
Kernels built with the CONFIG_TREE_SRCU Kconfig option set and then
booted with rcupdate.rcu_self_test=1 and srcutree.convert_to_big=1 will
test Tree SRCU during early boot. The early_srcu structure's srcu_node
array will be allocated when init_srcu_struct_fields() is invoked,
but after the test completes this early_srcu structure will not be used.
This commit therefore invokes cleanup_srcu_struct() to free that srcu_node
structure.
Signed-off-by: Zqiang <qiang1.zhang@intel.com>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
-rw-r--r-- | kernel/rcu/update.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/kernel/rcu/update.c b/kernel/rcu/update.c index f5e6a2f95a2a..a5b4abbee643 100644 --- a/kernel/rcu/update.c +++ b/kernel/rcu/update.c @@ -586,6 +586,7 @@ static int rcu_verify_early_boot_tests(void) early_boot_test_counter++; srcu_barrier(&early_srcu); WARN_ON_ONCE(!poll_state_synchronize_srcu(&early_srcu, early_srcu_cookie)); + cleanup_srcu_struct(&early_srcu); } if (rcu_self_test_counter != early_boot_test_counter) { WARN_ON(1); |