Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5ab07a8d authored by Paul E. McKenney's avatar Paul E. McKenney
Browse files

srcu: Add address of first callback to rcutorture output



This commit adds the address of the first callback to the per-CPU rcutorture
output in order to allow lost wakeups to be more efficiently tracked down.

Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
parent 17294ce6
Loading
Loading
Loading
Loading
+8 −7
Original line number Diff line number Diff line
@@ -1271,11 +1271,11 @@ void srcu_torture_stats_print(struct srcu_struct *sp, char *tt, char *tf)
		unsigned long l0, l1;
		unsigned long u0, u1;
		long c0, c1;
		struct srcu_data *counts;
		struct srcu_data *sdp;

		counts = per_cpu_ptr(sp->sda, cpu);
		u0 = counts->srcu_unlock_count[!idx];
		u1 = counts->srcu_unlock_count[idx];
		sdp = per_cpu_ptr(sp->sda, cpu);
		u0 = sdp->srcu_unlock_count[!idx];
		u1 = sdp->srcu_unlock_count[idx];

		/*
		 * Make sure that a lock is always counted if the corresponding
@@ -1283,12 +1283,13 @@ void srcu_torture_stats_print(struct srcu_struct *sp, char *tt, char *tf)
		 */
		smp_rmb();

		l0 = counts->srcu_lock_count[!idx];
		l1 = counts->srcu_lock_count[idx];
		l0 = sdp->srcu_lock_count[!idx];
		l1 = sdp->srcu_lock_count[idx];

		c0 = l0 - u0;
		c1 = l1 - u1;
		pr_cont(" %d(%ld,%ld)", cpu, c0, c1);
		pr_cont(" %d(%ld,%ld %1p)",
			cpu, c0, c1, rcu_segcblist_head(&sdp->srcu_cblist));
		s0 += c0;
		s1 += c1;
	}