Re: [PATCH tip/core/rcu 19/45] rcutorture: Print negatives for SRCU counter wraparound

From: josh
Date: Wed May 07 2014 - 17:34:39 EST


On Mon, Apr 28, 2014 at 05:25:07PM -0700, Paul E. McKenney wrote:
> From: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx>
>
> The srcu_torture_stats() function prints SRCU's per-CPU c[] array with
> an unsigned format, which means that the number one less than zero is
> a very large number. This commit therefore prints this array with a
> signed format in order to improve readability of the rcutorture output.
>
> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>

Nit below; with that:
Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx>

> kernel/rcu/rcutorture.c | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/kernel/rcu/rcutorture.c b/kernel/rcu/rcutorture.c
> index 3845ea99ccd4..0141fcff6bb9 100644
> --- a/kernel/rcu/rcutorture.c
> +++ b/kernel/rcu/rcutorture.c
> @@ -486,15 +486,16 @@ static void srcu_torture_barrier(void)
>
> static void srcu_torture_stats(char *page)
> {
> + long c0, c1;
> int cpu;
> int idx = srcu_ctl.completed & 0x1;
>
> page += sprintf(page, "%s%s per-CPU(idx=%d):",
> torture_type, TORTURE_FLAG, idx);
> for_each_possible_cpu(cpu) {
> - page += sprintf(page, " %d(%lu,%lu)", cpu,
> - per_cpu_ptr(srcu_ctl.per_cpu_ref, cpu)->c[!idx],
> - per_cpu_ptr(srcu_ctl.per_cpu_ref, cpu)->c[idx]);
> + c0 = (long)per_cpu_ptr(srcu_ctl.per_cpu_ref, cpu)->c[!idx];
> + c1 = (long)per_cpu_ptr(srcu_ctl.per_cpu_ref, cpu)->c[idx];
> + page += sprintf(page, " %d(%ld,%ld)", cpu, c0, c1);

Nit: I'd suggest declaring the variables inside the loop, or not using
intermediate variables at all.

- Josh Triplett
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/