[PACTH v1] kernel/hung_task.c: Dump all UNINTERUPTIBLE tasks

robert.foss
2016-08-02T15:24:04Z

From: Aaron Durbin <adurbin@chromium.org>

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.

Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Tested-by: Robert Foss <robert.foss@collabora.com>
Signed-off-by: Robert Foss <robert.foss@collabora.com>
---
kernel/hung_task.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/kernel/hung_task.c b/kernel/hung_task.c
index d234022..946caf9 100644
--- 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");
}
--
2.7.4