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

From: Andrew Morton
Date: Wed Aug 10 2016 - 18:43:51 EST


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.