From: Kunwu Chan <[email protected]>

Atomic SRCU does not use the srcu_node combining tree. Exclude it
from the SRCU_SIZING_IS_TORTURE() transition in
srcu_torture_stats_print(), and warn if such a transition is requested.

Signed-off-by: Kunwu Chan <[email protected]>
Signed-off-by: Paul E. McKenney <[email protected]>
---
 kernel/rcu/srcutree.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/kernel/rcu/srcutree.c b/kernel/rcu/srcutree.c
index 6a05bd8a6f39..6e37d53b412e 100644
--- a/kernel/rcu/srcutree.c
+++ b/kernel/rcu/srcutree.c
@@ -2422,8 +2422,10 @@ void srcu_torture_stats_print(struct srcu_struct *ssp, 
char *tt, char *tf)
                }
                pr_cont(" T(%ld,%ld)\n", s0, s1);
        }
-       if (SRCU_SIZING_IS_TORTURE())
-               srcu_transition_to_big(ssp);
+       if (SRCU_SIZING_IS_TORTURE()) {
+               if (!WARN_ON_ONCE(ssp->srcu_reader_flavor == 
SRCU_READ_FLAVOR_ATOMIC))
+                       srcu_transition_to_big(ssp);
+       }
 }
 EXPORT_SYMBOL_GPL(srcu_torture_stats_print);
 
-- 
2.40.1


Reply via email to