[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20251106023032.25875-1-feng.tang@linux.alibaba.com>
Date: Thu, 6 Nov 2025 10:30:29 +0800
From: Feng Tang <feng.tang@...ux.alibaba.com>
To: Andrew Morton <akpm@...ux-foundation.org>,
Petr Mladek <pmladek@...e.com>,
Lance Yang <ioworker0@...il.com>,
paulmck@...nel.org,
Steven Rostedt <rostedt@...dmis.org>,
linux-kernel@...r.kernel.org
Cc: Feng Tang <feng.tang@...ux.alibaba.com>
Subject: [PATCH 0/3] Enable hung_task and lockup cases to dump system info on demand
When working on kernel stability issues: panic, task-hung and soft/hard
lockup are frequently met. And to debug them, user may need lots of
system information at that time, like task call stacks, lock info,
memory info, ftrace dump, etc.
panic case already uses sys_info() for this purpose, and has a
'panic_sys_info' sysctl(also support cmdline setup) interface to take
human readable string like "tasks,mem,timers,locks,ftrace,..." to
control what kinds of information is needed. Which is also helpful
to debug task-hung and lockup cases.
So this patchset introduce the similar sys_info sysctl interface for
task-hung and lockup cases.
Please be noted, this is mainly for debugging and the info dumping
could be intrusive, like dumping call stack for all tasks when system
has huge number of tasks, similarly for ftrace dump (we may add
tracing_stop() and tracing_start() around it)
Locally these have been used in our bug chasing for stablility issues
and was helpful.
Andrew suggested a global sys_info knob, and one thought for this is
to have something in sys_info.c:
unsigned long gloabl_si_mask;
void sys_info(unsigned long si_mask)
{
if (!si_mask)
__sys_info(gloabl_si_mask);
else
__sys_info(si_mask);
}
to let caller decide whether to use its own option or the gloabl one.
Please help to review, thanks!
Feng Tang (3):
docs: panic: correct some sys_ifo names in sysctl doc
hung_task: Add hung_task_sys_info sysctl to dump sys info on task-hung
watchdog: add lockup_sys_info sysctl to dump sys info on system lockup
Documentation/admin-guide/sysctl/kernel.rst | 14 ++++++--
kernel/hung_task.c | 39 +++++++++++++++------
kernel/watchdog.c | 21 ++++++++++-
3 files changed, 60 insertions(+), 14 deletions(-)
--
2.43.5
Powered by blists - more mailing lists