[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <f6e39c8f-2ca2-4a01-cf42-9ed3bc2462a8@i-love.sakura.ne.jp>
Date: Mon, 10 Dec 2018 18:58:46 +0900
From: Tetsuo Handa <penguin-kernel@...ove.sakura.ne.jp>
To: Sergey Senozhatsky <sergey.senozhatsky.work@...il.com>,
"Liu, Chuansheng" <chuansheng.liu@...el.com>
Cc: "akpm@...ux-foundation.org" <akpm@...ux-foundation.org>,
"pmladek@...e.com" <pmladek@...e.com>,
"sergey.senozhatsky@...il.com" <sergey.senozhatsky@...il.com>,
"rostedt@...dmis.org" <rostedt@...dmis.org>,
"dvyukov@...gle.com" <dvyukov@...gle.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] kernel/hung_task.c: force ignore_loglevel before panic
On 2018/12/10 15:11, Sergey Senozhatsky wrote:
> On (12/10/18 05:58), Liu, Chuansheng wrote:
>>> On (12/10/18 05:40), Liu, Chuansheng wrote:
>>>> @@ -130,6 +130,13 @@ static void check_hung_task(struct task_struct *t,
>>> unsigned long timeout)
>>>> init_utsname()->version);
>>>> pr_err("\"echo 0 > /proc/sys/kernel/hung_task_timeout_secs\""
>>>> " disables this message.\n");
>>>> + /* When sysctl_hung_task_panic is set, we have to force
>>>> + * ignore_loglevel to get really useful hung task
>>>> + * information.
>>>> + */
>>>> + if (sysctl_hung_task_panic && !ignore_loglevel)
>>>> + ignore_loglevel = true;
>>>
>>> console_verbose()?
>>
>> Thanks Sergey, it is really my need. I will prepare for a new version of patch:)
>
> Let's wait for people to take a look at this patch first.
Shouldn't console_verbose() be called like
- if (!sysctl_hung_task_warnings && !sysctl_hung_task_panic)
+ if (sysctl_hung_task_panic)
+ console_verbose();
+ else if (!sysctl_hung_task_warnings)
return;
or
- if (!sysctl_hung_task_warnings && !sysctl_hung_task_panic)
- return;
+ if (sysctl_hung_task_panic)
+ console_verbose();
or
- if (!sysctl_hung_task_warnings && !sysctl_hung_task_panic)
- return;
+ if (sysctl_hung_task_panic) {
+ console_verbose();
+ hung_task_show_lock = true;
+ hung_task_call_panic = true;
+ }
(...snipped...)
- if (sysctl_hung_task_panic) {
- hung_task_show_lock = true;
- hung_task_call_panic = true;
- }
so that sysctl_hung_task_warnings == 0 && sysctl_hung_task_panic == 1
will call debug_show_all_locks() and trigger_all_cpu_backtrace() with
verbose level?
Powered by blists - more mailing lists