aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/sysctl.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/sysctl.c')
-rw-r--r--kernel/sysctl.c68
1 files changed, 50 insertions, 18 deletions
diff --git a/kernel/sysctl.c b/kernel/sysctl.c
index 29116652dca8..2a7b9d88706b 100644
--- a/kernel/sysctl.c
+++ b/kernel/sysctl.c
@@ -46,6 +46,7 @@
46#include <linux/nfs_fs.h> 46#include <linux/nfs_fs.h>
47#include <linux/acpi.h> 47#include <linux/acpi.h>
48#include <linux/reboot.h> 48#include <linux/reboot.h>
49#include <linux/ftrace.h>
49 50
50#include <asm/uaccess.h> 51#include <asm/uaccess.h>
51#include <asm/processor.h> 52#include <asm/processor.h>
@@ -82,14 +83,18 @@ extern int maps_protect;
82extern int sysctl_stat_interval; 83extern int sysctl_stat_interval;
83extern int latencytop_enabled; 84extern int latencytop_enabled;
84extern int sysctl_nr_open_min, sysctl_nr_open_max; 85extern int sysctl_nr_open_min, sysctl_nr_open_max;
86#ifdef CONFIG_RCU_TORTURE_TEST
87extern int rcutorture_runnable;
88#endif /* #ifdef CONFIG_RCU_TORTURE_TEST */
85 89
86/* Constants used for minimum and maximum */ 90/* Constants used for minimum and maximum */
87#if defined(CONFIG_DETECT_SOFTLOCKUP) || defined(CONFIG_HIGHMEM) 91#if defined(CONFIG_HIGHMEM) || defined(CONFIG_DETECT_SOFTLOCKUP)
88static int one = 1; 92static int one = 1;
89#endif 93#endif
90 94
91#ifdef CONFIG_DETECT_SOFTLOCKUP 95#ifdef CONFIG_DETECT_SOFTLOCKUP
92static int sixty = 60; 96static int sixty = 60;
97static int neg_one = -1;
93#endif 98#endif
94 99
95#ifdef CONFIG_MMU 100#ifdef CONFIG_MMU
@@ -106,7 +111,7 @@ static int min_percpu_pagelist_fract = 8;
106 111
107static int ngroups_max = NGROUPS_MAX; 112static int ngroups_max = NGROUPS_MAX;
108 113
109#ifdef CONFIG_KMOD 114#ifdef CONFIG_MODULES
110extern char modprobe_path[]; 115extern char modprobe_path[];
111#endif 116#endif
112#ifdef CONFIG_CHR_DEV_SG 117#ifdef CONFIG_CHR_DEV_SG
@@ -132,8 +137,6 @@ extern int sysctl_userprocess_debug;
132extern int spin_retry; 137extern int spin_retry;
133#endif 138#endif
134 139
135extern int sysctl_hz_timer;
136
137#ifdef CONFIG_BSD_PROCESS_ACCT 140#ifdef CONFIG_BSD_PROCESS_ACCT
138extern int acct_parm[]; 141extern int acct_parm[];
139#endif 142#endif
@@ -266,6 +269,14 @@ static struct ctl_table kern_table[] = {
266 }, 269 },
267 { 270 {
268 .ctl_name = CTL_UNNUMBERED, 271 .ctl_name = CTL_UNNUMBERED,
272 .procname = "sched_shares_ratelimit",
273 .data = &sysctl_sched_shares_ratelimit,
274 .maxlen = sizeof(unsigned int),
275 .mode = 0644,
276 .proc_handler = &proc_dointvec,
277 },
278 {
279 .ctl_name = CTL_UNNUMBERED,
269 .procname = "sched_child_runs_first", 280 .procname = "sched_child_runs_first",
270 .data = &sysctl_sched_child_runs_first, 281 .data = &sysctl_sched_child_runs_first,
271 .maxlen = sizeof(unsigned int), 282 .maxlen = sizeof(unsigned int),
@@ -455,7 +466,17 @@ static struct ctl_table kern_table[] = {
455 .mode = 0644, 466 .mode = 0644,
456 .proc_handler = &proc_dointvec, 467 .proc_handler = &proc_dointvec,
457 }, 468 },
458#ifdef CONFIG_KMOD 469#ifdef CONFIG_FTRACE
470 {
471 .ctl_name = CTL_UNNUMBERED,
472 .procname = "ftrace_enabled",
473 .data = &ftrace_enabled,
474 .maxlen = sizeof(int),
475 .mode = 0644,
476 .proc_handler = &ftrace_enable_sysctl,
477 },
478#endif
479#ifdef CONFIG_MODULES
459 { 480 {
460 .ctl_name = KERN_MODPROBE, 481 .ctl_name = KERN_MODPROBE,
461 .procname = "modprobe", 482 .procname = "modprobe",
@@ -563,16 +584,6 @@ static struct ctl_table kern_table[] = {
563 .proc_handler = &proc_dointvec, 584 .proc_handler = &proc_dointvec,
564 }, 585 },
565#endif 586#endif
566#ifdef CONFIG_NO_IDLE_HZ
567 {
568 .ctl_name = KERN_HZ_TIMER,
569 .procname = "hz_timer",
570 .data = &sysctl_hz_timer,
571 .maxlen = sizeof(int),
572 .mode = 0644,
573 .proc_handler = &proc_dointvec,
574 },
575#endif
576 { 587 {
577 .ctl_name = KERN_S390_USER_DEBUG_LOGGING, 588 .ctl_name = KERN_S390_USER_DEBUG_LOGGING,
578 .procname = "userprocess_debug", 589 .procname = "userprocess_debug",
@@ -729,13 +740,24 @@ static struct ctl_table kern_table[] = {
729#ifdef CONFIG_DETECT_SOFTLOCKUP 740#ifdef CONFIG_DETECT_SOFTLOCKUP
730 { 741 {
731 .ctl_name = CTL_UNNUMBERED, 742 .ctl_name = CTL_UNNUMBERED,
743 .procname = "softlockup_panic",
744 .data = &softlockup_panic,
745 .maxlen = sizeof(int),
746 .mode = 0644,
747 .proc_handler = &proc_dointvec_minmax,
748 .strategy = &sysctl_intvec,
749 .extra1 = &zero,
750 .extra2 = &one,
751 },
752 {
753 .ctl_name = CTL_UNNUMBERED,
732 .procname = "softlockup_thresh", 754 .procname = "softlockup_thresh",
733 .data = &softlockup_thresh, 755 .data = &softlockup_thresh,
734 .maxlen = sizeof(unsigned long), 756 .maxlen = sizeof(int),
735 .mode = 0644, 757 .mode = 0644,
736 .proc_handler = &proc_doulongvec_minmax, 758 .proc_handler = &proc_dointvec_minmax,
737 .strategy = &sysctl_intvec, 759 .strategy = &sysctl_intvec,
738 .extra1 = &one, 760 .extra1 = &neg_one,
739 .extra2 = &sixty, 761 .extra2 = &sixty,
740 }, 762 },
741 { 763 {
@@ -813,6 +835,16 @@ static struct ctl_table kern_table[] = {
813 .child = key_sysctls, 835 .child = key_sysctls,
814 }, 836 },
815#endif 837#endif
838#ifdef CONFIG_RCU_TORTURE_TEST
839 {
840 .ctl_name = CTL_UNNUMBERED,
841 .procname = "rcutorture_runnable",
842 .data = &rcutorture_runnable,
843 .maxlen = sizeof(int),
844 .mode = 0644,
845 .proc_handler = &proc_dointvec,
846 },
847#endif
816/* 848/*
817 * NOTE: do not add new entries to this table unless you have read 849 * NOTE: do not add new entries to this table unless you have read
818 * Documentation/sysctl/ctl_unnumbered.txt 850 * Documentation/sysctl/ctl_unnumbered.txt