Re: [PATCH] kernel/hung_task.c: allow to set period separately from timeout

From: Tetsuo Handa
Date: Mon Jun 11 2018 - 08:49:15 EST


On 2018/06/11 20:16, Dmitry Vyukov wrote:
>> timeout = 60 and period = 1 would allow hung task to be reported as soon
>> as it remained uninterruptible for 60 seconds. That makes me easier to
>> narrow down relevant kernel messages and syzbot program.
>>
>> Well, showing exact slept time, along with all threads which slept more
>> than some threshold (e.g. timeout / 2), might be helpful.
>
> You mean if we report any task, then scan all tasks second time and
> additionally report tasks that are blocked for (timeout/2 : timeout)?

Yes. Something like check_memalloc_stalling_tasks() in
http://lkml.kernel.org/r/1495331504-12480-1-git-send-email-penguin-kernel@xxxxxxxxxxxxxxxxxxx .

>
> Should we do this when hung_task_show_lock? Or only when
> sysctl_hung_task_panic? Or when?
>

I think always is more useful. That is, first round only checks whether
there is at least one stalling task, and second round reports stalling tasks
if at least one task is stalling.