signal: move show_unhandled_signals sysctl to its own file
The show_unhandled_signals sysctl is the only sysctl for debug left on kernel/sysctl.c. We've been moving the syctls out from kernel/sysctl.c so to help avoid merge conflicts as the shared array gets out of hand. This change incurs simplifies sysctl registration by localizing it where it should go for a penalty in size of increasing the kernel by 23 bytes, we accept this given recent cleanups have actually already saved us 1465 bytes in the prior commits. ./scripts/bloat-o-meter vmlinux.3-remove-dev-table vmlinux.4-remove-debug-table add/remove: 3/1 grow/shrink: 0/1 up/down: 177/-154 (23) Function old new delta signal_debug_table - 128 +128 init_signal_sysctls - 33 +33 __pfx_init_signal_sysctls - 16 +16 sysctl_init_bases 85 59 -26 debug_table 128 - -128 Total: Before=21256967, After=21256990, chg +0.00% Reviewed-by: Joel Granados <j.granados@samsung.com> Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
This commit is contained in:
Родитель
996ef312f2
Коммит
01e6aac78b
|
@ -45,6 +45,7 @@
|
|||
#include <linux/posix-timers.h>
|
||||
#include <linux/cgroup.h>
|
||||
#include <linux/audit.h>
|
||||
#include <linux/sysctl.h>
|
||||
|
||||
#define CREATE_TRACE_POINTS
|
||||
#include <trace/events/signal.h>
|
||||
|
@ -4771,6 +4772,28 @@ static inline void siginfo_buildtime_checks(void)
|
|||
#endif
|
||||
}
|
||||
|
||||
#if defined(CONFIG_SYSCTL)
|
||||
static struct ctl_table signal_debug_table[] = {
|
||||
#ifdef CONFIG_SYSCTL_EXCEPTION_TRACE
|
||||
{
|
||||
.procname = "exception-trace",
|
||||
.data = &show_unhandled_signals,
|
||||
.maxlen = sizeof(int),
|
||||
.mode = 0644,
|
||||
.proc_handler = proc_dointvec
|
||||
},
|
||||
#endif
|
||||
{ }
|
||||
};
|
||||
|
||||
static int __init init_signal_sysctls(void)
|
||||
{
|
||||
register_sysctl_init("debug", signal_debug_table);
|
||||
return 0;
|
||||
}
|
||||
early_initcall(init_signal_sysctls);
|
||||
#endif /* CONFIG_SYSCTL */
|
||||
|
||||
void __init signals_init(void)
|
||||
{
|
||||
siginfo_buildtime_checks();
|
||||
|
|
|
@ -2319,19 +2319,6 @@ static struct ctl_table vm_table[] = {
|
|||
{ }
|
||||
};
|
||||
|
||||
static struct ctl_table debug_table[] = {
|
||||
#ifdef CONFIG_SYSCTL_EXCEPTION_TRACE
|
||||
{
|
||||
.procname = "exception-trace",
|
||||
.data = &show_unhandled_signals,
|
||||
.maxlen = sizeof(int),
|
||||
.mode = 0644,
|
||||
.proc_handler = proc_dointvec
|
||||
},
|
||||
#endif
|
||||
{ }
|
||||
};
|
||||
|
||||
int __init sysctl_init_bases(void)
|
||||
{
|
||||
register_sysctl_init("kernel", kern_table);
|
||||
|
@ -2341,7 +2328,6 @@ int __init sysctl_init_bases(void)
|
|||
#endif
|
||||
|
||||
register_sysctl_init("vm", vm_table);
|
||||
register_sysctl_init("debug", debug_table);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче