Re: [PATCH] khungtaskd: Kick stuck processes

From: Tetsuo Handa
Date: Thu Feb 08 2018 - 18:11:07 EST


Chris Wilson wrote:
> After spotting a stuck process, and having decided not to panic, give
> the task a kick to see if that helps it to recover (e.g. to paper over a
> missed wake up).

Yes, we are seeing hangs at io_schedule(), but doesn't optionally allowing
io_schedule() be replaced with timeout version (e.g. dump_page() upon timeout
if io_schedule() was called for e.g. wait_on_page_bit()) give us more clue?

>
> References: https://bugs.freedesktop.org/show_bug.cgi?id=104009
> References: https://bugs.freedesktop.org/show_bug.cgi?id=104682
> Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
> Cc: Ingo Molnar <mingo@xxxxxxxxxx>
> Cc: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx>
> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> ---
> kernel/hung_task.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/kernel/hung_task.c b/kernel/hung_task.c
> index 751593ed7c0b..b32acb6bcc63 100644
> --- a/kernel/hung_task.c
> +++ b/kernel/hung_task.c
> @@ -132,6 +132,8 @@ static void check_hung_task(struct task_struct *t, unsigned long timeout)
> trigger_all_cpu_backtrace();
> panic("hung_task: blocked tasks");
> }
> +
> + wake_up_process(t);
> }
>
> /*
> --
> 2.16.1