On Fri, Sep 11, 2026 at 12:02:51PM +0800, Kunwu Chan wrote:
> 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]>

Queued for testing and review, thank you!

                                                        Thanx, Paul

> ---
> Changes:
> -add warn on an invalid atomic SRCU sizing configuration.
> -v1: 
> https://lore.kernel.org/rcu/[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 68441c32cebf..60c102a4d057 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.43.0
> 

Reply via email to