On Thu, Jun 18, 2020 at 04:29:55PM -0400, Joel Fernandes (Google) wrote:
> Add 2 things to get visiblity around number of grace periods.
> 1. Add number of GPs to End-state print.
> 2. Just like End-state, add GP state to Start-state.
> 
> This helps determine how many GPs elapsed during a run of rcutorture and
> what the initial state was.
> 
> Signed-off-by: Joel Fernandes (Google) <[email protected]>

And I queued this one with a reworked commit log, thank you!

                                                        Thanx, Paul

> ---
>  kernel/rcu/rcutorture.c | 13 +++++++++++--
>  1 file changed, 11 insertions(+), 2 deletions(-)
> 
> diff --git a/kernel/rcu/rcutorture.c b/kernel/rcu/rcutorture.c
> index 959a1f84d6904..c80725ddd9030 100644
> --- a/kernel/rcu/rcutorture.c
> +++ b/kernel/rcu/rcutorture.c
> @@ -186,6 +186,7 @@ static long n_barrier_successes; /* did rcu_barrier test 
> succeed? */
>  static unsigned long n_read_exits;
>  static struct list_head rcu_torture_removed;
>  static unsigned long shutdown_jiffies;
> +static unsigned long start_gp_seq;
>  
>  static int rcu_torture_writer_state;
>  #define RTWS_FIXED_DELAY     0
> @@ -2508,8 +2509,9 @@ rcu_torture_cleanup(void)
>  
>       rcutorture_get_gp_data(cur_ops->ttype, &flags, &gp_seq);
>       srcutorture_get_gp_data(cur_ops->ttype, srcu_ctlp, &flags, &gp_seq);
> -     pr_alert("%s:  End-test grace-period state: g%lu f%#x\n",
> -              cur_ops->name, gp_seq, flags);
> +     pr_alert("%s:  End-test grace-period state: g%ld f%#x total-gps=%ld\n",
> +              cur_ops->name, (long)gp_seq, flags,
> +              rcutorture_seq_diff(gp_seq, start_gp_seq));
>       torture_stop_kthread(rcu_torture_stats, stats_task);
>       torture_stop_kthread(rcu_torture_fqs, fqs_task);
>       if (rcu_torture_can_boost())
> @@ -2633,6 +2635,8 @@ rcu_torture_init(void)
>       long i;
>       int cpu;
>       int firsterr = 0;
> +     int flags = 0;
> +     unsigned long gp_seq = 0;
>       static struct rcu_torture_ops *torture_ops[] = {
>               &rcu_ops, &rcu_busted_ops, &srcu_ops, &srcud_ops,
>               &busted_srcud_ops, &tasks_ops, &tasks_rude_ops,
> @@ -2675,6 +2679,11 @@ rcu_torture_init(void)
>                       nrealreaders = 1;
>       }
>       rcu_torture_print_module_parms(cur_ops, "Start of test");
> +     rcutorture_get_gp_data(cur_ops->ttype, &flags, &gp_seq);
> +     srcutorture_get_gp_data(cur_ops->ttype, srcu_ctlp, &flags, &gp_seq);
> +     start_gp_seq = gp_seq;
> +     pr_alert("%s:  Start-test grace-period state: g%ld f%#x\n",
> +              cur_ops->name, (long)gp_seq, flags);
>  
>       /* Set up the freelist. */
>  
> -- 
> 2.27.0.111.gc72c7da667-goog
> 

Reply via email to