diff options
author | Paul E. McKenney <paulmck@kernel.org> | 2022-08-04 17:01:55 -0700 |
---|---|---|
committer | Paul E. McKenney <paulmck@kernel.org> | 2022-08-31 05:08:08 -0700 |
commit | a5d1b0b68a62afb1bce0b36cc9a1875acf8a6dff (patch) | |
tree | 0ace19912449521eb2fbfab4922d7e5e3d2e0bb7 /kernel/rcu/tree.c | |
parent | 258f887aba60c8fc7946a9f379f9a3889f92fc85 (diff) | |
download | linux-stable-a5d1b0b68a62afb1bce0b36cc9a1875acf8a6dff.tar.gz linux-stable-a5d1b0b68a62afb1bce0b36cc9a1875acf8a6dff.tar.bz2 linux-stable-a5d1b0b68a62afb1bce0b36cc9a1875acf8a6dff.zip |
rcu: Set rcu_data structures' initial ->gpwrap value to true
It would be good do reduce the size of the rcu_gp_oldstate structure
from three unsigned long instances to two, but this requires that the
boot-time optimized grace periods update the various ->gp_seq fields.
Updating these fields in the rcu_state structure and in all of the
rcu_node structures is at least semi-reasonable, but updating them in
all of the rcu_data structures is a bridge too far. This means that if
there are too many early boot-time grace periods, the ->gp_seq field in
the rcu_data structure cannot be trusted. This commit therefore sets
each rcu_data structure's ->gpwrap field to provide the necessary impetus
for a suitable level of distrust.
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Diffstat (limited to 'kernel/rcu/tree.c')
-rw-r--r-- | kernel/rcu/tree.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c index 5c4ec9dd4ce7..03b089184b37 100644 --- a/kernel/rcu/tree.c +++ b/kernel/rcu/tree.c @@ -76,6 +76,7 @@ /* Data structures. */ static DEFINE_PER_CPU_SHARED_ALIGNED(struct rcu_data, rcu_data) = { + .gpwrap = true, #ifdef CONFIG_RCU_NOCB_CPU .cblist.flags = SEGCBLIST_RCU_CORE, #endif |