Commit 14c0017c authored by Anna-Maria Behnsen's avatar Anna-Maria Behnsen Committed by Paul E. McKenney
Browse files

rcu/torture: Change order of warning and trace dump



Dumping a big ftrace buffer could lead to a RCU stall. So there is the
ftrace buffer and the stall information which needs to be printed. When
there is additionally a WARN_ON() which describes the reason for the ftrace
buffer dump and the WARN_ON() is executed _after_ ftrace buffer dump, the
information get lost in the middle of the RCU stall information.

Therefore print WARN_ON() message before dumping the ftrace buffer in
rcu_torture_writer().

[ paulmck: Add tracing_off() to avoid cruft from WARN(). ]

Signed-off-by: default avatarAnna-Maria Behnsen <anna-maria@linutronix.de>
Reviewed-by: default avatarBenedikt Spranger <b.spranger@linutronix.de>
Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
parent ab69d3c8
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -1321,8 +1321,9 @@ rcu_torture_writer(void *arg)
				if (list_empty(&rcu_tortures[i].rtort_free) &&
				    rcu_access_pointer(rcu_torture_current) !=
				    &rcu_tortures[i]) {
					rcu_ftrace_dump(DUMP_ALL);
					tracing_off();
					WARN(1, "%s: rtort_pipe_count: %d\n", __func__, rcu_tortures[i].rtort_pipe_count);
					rcu_ftrace_dump(DUMP_ALL);
				}
		if (stutter_waited)
			sched_set_normal(current, oldnice);