On Tue, 2 Aug 2016 11:23:11 -0400 robert.foss@xxxxxxxxxxxxx wrote:
From: Aaron Durbin <adurbin@xxxxxxxxxxxx>
When the panic path is taken for khungtaskd dump all
tasks with the UNINTERUPTIBLE state. That way, any
inter-dependent tasks that caused one another to hang
will be saved in the crash output.
...
--- a/kernel/hung_task.c
+++ b/kernel/hung_task.c
@@ -122,6 +122,8 @@ static void check_hung_task(struct task_struct *t, unsigned long timeout)
touch_nmi_watchdog();
if (sysctl_hung_task_panic) {
+ /* Dump all tasks. */
+ show_state_filter(TASK_UNINTERRUPTIBLE);
trigger_all_cpu_backtrace();
panic("hung_task: blocked tasks");
}
Well, it's going to produce more gunk for the operator to read through
and understand.
I'd like to hear a little more about the value of this change: what
particular problem prompted it, etc.