aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/include/linux/sys_info.h
diff options
context:
space:
mode:
authorFeng Tang <feng.tang@linux.alibaba.com>2025-07-03 10:10:02 +0800
committerAndrew Morton <akpm@linux-foundation.org>2025-07-19 19:08:24 -0700
commitd747755917bf8ae08f490c3fe7d8e321afab8127 (patch)
tree1cc57b216777b97d773badbf68488f83c934b439 /include/linux/sys_info.h
parentpanic: generalize panic_print's function to show sys info (diff)
downloadwireguard-linux-d747755917bf8ae08f490c3fe7d8e321afab8127.tar.xz
wireguard-linux-d747755917bf8ae08f490c3fe7d8e321afab8127.zip
panic: add 'panic_sys_info' sysctl to take human readable string parameter
Bitmap definition for 'panic_print' is hard to remember and decode. Add 'panic_sys_info='sysctl to take human readable string like "tasks,mem,timers,locks,ftrace,..." and translate it into bitmap. The detailed mapping is: SYS_INFO_TASKS "tasks" SYS_INFO_MEM "mem" SYS_INFO_TIMERS "timers" SYS_INFO_LOCKS "locks" SYS_INFO_FTRACE "ftrace" SYS_INFO_ALL_CPU_BT "all_bt" SYS_INFO_BLOCKED_TASKS "blocked_tasks" [nathan@kernel.org: add __maybe_unused to sys_info_avail] Link: https://lkml.kernel.org/r/20250708-fix-clang-sys_info_avail-warning-v1-1-60d239eacd64@kernel.org Link: https://lkml.kernel.org/r/20250703021004.42328-4-feng.tang@linux.alibaba.com Signed-off-by: Feng Tang <feng.tang@linux.alibaba.com> Suggested-by: Petr Mladek <pmladek@suse.com> Cc: John Ogness <john.ogness@linutronix.de> Cc: Jonathan Corbet <corbet@lwn.net> Cc: Lance Yang <lance.yang@linux.dev> Cc: "Paul E . McKenney" <paulmck@kernel.org> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Nathan Chancellor <nathan@kernel.org> Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Diffstat (limited to 'include/linux/sys_info.h')
-rw-r--r--include/linux/sys_info.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/linux/sys_info.h b/include/linux/sys_info.h
index 53b7e27dbf2a..89d77dc4f2ed 100644
--- a/include/linux/sys_info.h
+++ b/include/linux/sys_info.h
@@ -2,6 +2,8 @@
#ifndef _LINUX_SYS_INFO_H
#define _LINUX_SYS_INFO_H
+#include <linux/sysctl.h>
+
/*
* SYS_INFO_PANIC_CONSOLE_REPLAY is for panic case only, as it needs special
* handling which only fits panic case.
@@ -16,5 +18,11 @@
#define SYS_INFO_BLOCKED_TASKS 0x00000080
void sys_info(unsigned long si_mask);
+unsigned long sys_info_parse_param(char *str);
+#ifdef CONFIG_SYSCTL
+int sysctl_sys_info_handler(const struct ctl_table *ro_table, int write,
+ void *buffer, size_t *lenp,
+ loff_t *ppos);
+#endif
#endif /* _LINUX_SYS_INFO_H */