On Thu 08-02-18 19:07:53, 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).

huh, this is just no-no. watchdog is there to report problems not
interfere. You cannot never know whether the sleeper is prepared for
spurious wakeups. Do not paper over bugs...

> 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 <ch...@chris-wilson.co.uk>
> Cc: Ingo Molnar <mi...@kernel.org>
> Cc: Tetsuo Handa <penguin-ker...@i-love.sakura.ne.jp>
> Cc: Andrew Morton <a...@linux-foundation.org>
> ---
>  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

-- 
Michal Hocko
SUSE Labs

Reply via email to