diff options
Diffstat (limited to 'kernel/sysctl.c')
-rw-r--r-- | kernel/sysctl.c | 44 |
1 files changed, 36 insertions, 8 deletions
diff --git a/kernel/sysctl.c b/kernel/sysctl.c index 96efbb859997..dde3d53e8adc 100644 --- a/kernel/sysctl.c +++ b/kernel/sysctl.c | |||
@@ -63,6 +63,7 @@ extern int print_fatal_signals; | |||
63 | extern int sysctl_overcommit_memory; | 63 | extern int sysctl_overcommit_memory; |
64 | extern int sysctl_overcommit_ratio; | 64 | extern int sysctl_overcommit_ratio; |
65 | extern int sysctl_panic_on_oom; | 65 | extern int sysctl_panic_on_oom; |
66 | extern int sysctl_oom_kill_allocating_task; | ||
66 | extern int max_threads; | 67 | extern int max_threads; |
67 | extern int core_uses_pid; | 68 | extern int core_uses_pid; |
68 | extern int suid_dumpable; | 69 | extern int suid_dumpable; |
@@ -79,6 +80,19 @@ extern int maps_protect; | |||
79 | extern int sysctl_stat_interval; | 80 | extern int sysctl_stat_interval; |
80 | extern int audit_argv_kb; | 81 | extern int audit_argv_kb; |
81 | 82 | ||
83 | /* Constants used for minimum and maximum */ | ||
84 | #ifdef CONFIG_DETECT_SOFTLOCKUP | ||
85 | static int one = 1; | ||
86 | static int sixty = 60; | ||
87 | #endif | ||
88 | |||
89 | #ifdef CONFIG_MMU | ||
90 | static int two = 2; | ||
91 | #endif | ||
92 | |||
93 | static int zero; | ||
94 | static int one_hundred = 100; | ||
95 | |||
82 | /* this is needed for the proc_dointvec_minmax for [fs_]overflow UID and GID */ | 96 | /* this is needed for the proc_dointvec_minmax for [fs_]overflow UID and GID */ |
83 | static int maxolduid = 65535; | 97 | static int maxolduid = 65535; |
84 | static int minolduid; | 98 | static int minolduid; |
@@ -710,6 +724,19 @@ static ctl_table kern_table[] = { | |||
710 | .proc_handler = &proc_dointvec, | 724 | .proc_handler = &proc_dointvec, |
711 | }, | 725 | }, |
712 | #endif | 726 | #endif |
727 | #ifdef CONFIG_DETECT_SOFTLOCKUP | ||
728 | { | ||
729 | .ctl_name = CTL_UNNUMBERED, | ||
730 | .procname = "softlockup_thresh", | ||
731 | .data = &softlockup_thresh, | ||
732 | .maxlen = sizeof(int), | ||
733 | .mode = 0644, | ||
734 | .proc_handler = &proc_dointvec_minmax, | ||
735 | .strategy = &sysctl_intvec, | ||
736 | .extra1 = &one, | ||
737 | .extra2 = &sixty, | ||
738 | }, | ||
739 | #endif | ||
713 | #ifdef CONFIG_COMPAT | 740 | #ifdef CONFIG_COMPAT |
714 | { | 741 | { |
715 | .ctl_name = KERN_COMPAT_LOG, | 742 | .ctl_name = KERN_COMPAT_LOG, |
@@ -756,13 +783,6 @@ static ctl_table kern_table[] = { | |||
756 | { .ctl_name = 0 } | 783 | { .ctl_name = 0 } |
757 | }; | 784 | }; |
758 | 785 | ||
759 | /* Constants for minimum and maximum testing in vm_table. | ||
760 | We use these as one-element integer vectors. */ | ||
761 | static int zero; | ||
762 | static int two = 2; | ||
763 | static int one_hundred = 100; | ||
764 | |||
765 | |||
766 | static ctl_table vm_table[] = { | 786 | static ctl_table vm_table[] = { |
767 | { | 787 | { |
768 | .ctl_name = VM_OVERCOMMIT_MEMORY, | 788 | .ctl_name = VM_OVERCOMMIT_MEMORY, |
@@ -781,6 +801,14 @@ static ctl_table vm_table[] = { | |||
781 | .proc_handler = &proc_dointvec, | 801 | .proc_handler = &proc_dointvec, |
782 | }, | 802 | }, |
783 | { | 803 | { |
804 | .ctl_name = CTL_UNNUMBERED, | ||
805 | .procname = "oom_kill_allocating_task", | ||
806 | .data = &sysctl_oom_kill_allocating_task, | ||
807 | .maxlen = sizeof(sysctl_oom_kill_allocating_task), | ||
808 | .mode = 0644, | ||
809 | .proc_handler = &proc_dointvec, | ||
810 | }, | ||
811 | { | ||
784 | .ctl_name = VM_OVERCOMMIT_RATIO, | 812 | .ctl_name = VM_OVERCOMMIT_RATIO, |
785 | .procname = "overcommit_ratio", | 813 | .procname = "overcommit_ratio", |
786 | .data = &sysctl_overcommit_ratio, | 814 | .data = &sysctl_overcommit_ratio, |
@@ -813,7 +841,7 @@ static ctl_table vm_table[] = { | |||
813 | .data = &vm_dirty_ratio, | 841 | .data = &vm_dirty_ratio, |
814 | .maxlen = sizeof(vm_dirty_ratio), | 842 | .maxlen = sizeof(vm_dirty_ratio), |
815 | .mode = 0644, | 843 | .mode = 0644, |
816 | .proc_handler = &proc_dointvec_minmax, | 844 | .proc_handler = &dirty_ratio_handler, |
817 | .strategy = &sysctl_intvec, | 845 | .strategy = &sysctl_intvec, |
818 | .extra1 = &zero, | 846 | .extra1 = &zero, |
819 | .extra2 = &one_hundred, | 847 | .extra2 = &one_hundred, |