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

Commit 4ffa6699 authored by Paul E. McKenney's avatar Paul E. McKenney
Browse files

torture: Add task state to writer-task stall printk()s



This commit adds a dump of the scheduler state for stalled rcutorture
writer tasks.  This addition provides yet more debug for the intermittent
"failures to proceed", where grace periods move ahead but the rcutorture
writer tasks fail to do so.

Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
parent 31257c3c
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -1238,6 +1238,7 @@ rcu_torture_stats_print(void)
	long pipesummary[RCU_TORTURE_PIPE_LEN + 1] = { 0 };
	long batchsummary[RCU_TORTURE_PIPE_LEN + 1] = { 0 };
	static unsigned long rtcv_snap = ULONG_MAX;
	struct task_struct *wtp;

	for_each_possible_cpu(cpu) {
		for (i = 0; i < RCU_TORTURE_PIPE_LEN + 1; i++) {
@@ -1312,10 +1313,12 @@ rcu_torture_stats_print(void)

		rcutorture_get_gp_data(cur_ops->ttype,
				       &flags, &gpnum, &completed);
		pr_alert("??? Writer stall state %s(%d) g%lu c%lu f%#x\n",
		wtp = READ_ONCE(writer_task);
		pr_alert("??? Writer stall state %s(%d) g%lu c%lu f%#x ->state %#lx\n",
			 rcu_torture_writer_state_getname(),
			 rcu_torture_writer_state,
			 gpnum, completed, flags);
			 gpnum, completed, flags,
			 wtp == NULL ? ~0UL : wtp->state);
		show_rcu_gp_kthreads();
		rcu_ftrace_dump(DUMP_ALL);
	}