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: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
This commit is contained in:
		
							parent
							
								
									31257c3c8b
								
							
						
					
					
						commit
						4ffa669924
					
				| @ -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); | ||||
| 	} | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user