]>
Commit | Line | Data |
---|---|---|
b2441318 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
9ccd27cc IM |
2 | #ifndef _LINUX_SCHED_SYSCTL_H |
3 | #define _LINUX_SCHED_SYSCTL_H | |
4 | ||
5 | #include <linux/types.h> | |
6 | ||
7 | struct ctl_table; | |
cf4aebc2 CW |
8 | |
9 | #ifdef CONFIG_DETECT_HUNG_TASK | |
cd64647f | 10 | extern int sysctl_hung_task_check_count; |
cf4aebc2 | 11 | extern unsigned int sysctl_hung_task_panic; |
cf4aebc2 | 12 | extern unsigned long sysctl_hung_task_timeout_secs; |
a2e51445 | 13 | extern unsigned long sysctl_hung_task_check_interval_secs; |
270750db | 14 | extern int sysctl_hung_task_warnings; |
cf4aebc2 CW |
15 | extern int proc_dohung_task_timeout_secs(struct ctl_table *table, int write, |
16 | void __user *buffer, | |
17 | size_t *lenp, loff_t *ppos); | |
18 | #else | |
19 | /* Avoid need for ifdefs elsewhere in the code */ | |
20 | enum { sysctl_hung_task_timeout_secs = 0 }; | |
21 | #endif | |
22 | ||
cf4aebc2 CW |
23 | extern unsigned int sysctl_sched_latency; |
24 | extern unsigned int sysctl_sched_min_granularity; | |
25 | extern unsigned int sysctl_sched_wakeup_granularity; | |
26 | extern unsigned int sysctl_sched_child_runs_first; | |
27 | ||
28 | enum sched_tunable_scaling { | |
29 | SCHED_TUNABLESCALING_NONE, | |
30 | SCHED_TUNABLESCALING_LOG, | |
31 | SCHED_TUNABLESCALING_LINEAR, | |
32 | SCHED_TUNABLESCALING_END, | |
33 | }; | |
34 | extern enum sched_tunable_scaling sysctl_sched_tunable_scaling; | |
35 | ||
36 | extern unsigned int sysctl_numa_balancing_scan_delay; | |
37 | extern unsigned int sysctl_numa_balancing_scan_period_min; | |
38 | extern unsigned int sysctl_numa_balancing_scan_period_max; | |
cf4aebc2 | 39 | extern unsigned int sysctl_numa_balancing_scan_size; |
cf4aebc2 CW |
40 | |
41 | #ifdef CONFIG_SCHED_DEBUG | |
a9903f04 MK |
42 | extern __read_mostly unsigned int sysctl_sched_migration_cost; |
43 | extern __read_mostly unsigned int sysctl_sched_nr_migrate; | |
cf4aebc2 CW |
44 | |
45 | int sched_proc_update_handler(struct ctl_table *table, int write, | |
46 | void __user *buffer, size_t *length, | |
47 | loff_t *ppos); | |
48 | #endif | |
ce0dbbbb CW |
49 | |
50 | /* | |
51 | * control realtime throttling: | |
52 | * | |
53 | * /proc/sys/kernel/sched_rt_period_us | |
54 | * /proc/sys/kernel/sched_rt_runtime_us | |
55 | */ | |
cf4aebc2 CW |
56 | extern unsigned int sysctl_sched_rt_period; |
57 | extern int sysctl_sched_rt_runtime; | |
58 | ||
59 | #ifdef CONFIG_CFS_BANDWIDTH | |
60 | extern unsigned int sysctl_sched_cfs_bandwidth_slice; | |
61 | #endif | |
62 | ||
63 | #ifdef CONFIG_SCHED_AUTOGROUP | |
64 | extern unsigned int sysctl_sched_autogroup_enabled; | |
65 | #endif | |
66 | ||
975e155e | 67 | extern int sysctl_sched_rr_timeslice; |
ce0dbbbb CW |
68 | extern int sched_rr_timeslice; |
69 | ||
70 | extern int sched_rr_handler(struct ctl_table *table, int write, | |
71 | void __user *buffer, size_t *lenp, | |
72 | loff_t *ppos); | |
73 | ||
74 | extern int sched_rt_handler(struct ctl_table *table, int write, | |
cf4aebc2 CW |
75 | void __user *buffer, size_t *lenp, |
76 | loff_t *ppos); | |
77 | ||
54a43d54 AK |
78 | extern int sysctl_numa_balancing(struct ctl_table *table, int write, |
79 | void __user *buffer, size_t *lenp, | |
80 | loff_t *ppos); | |
81 | ||
cb251765 MG |
82 | extern int sysctl_schedstats(struct ctl_table *table, int write, |
83 | void __user *buffer, size_t *lenp, | |
84 | loff_t *ppos); | |
85 | ||
9ccd27cc | 86 | #endif /* _LINUX_SCHED_SYSCTL_H */ |