1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _LINUX_SCHED_SYSCTL_H
3 #define _LINUX_SCHED_SYSCTL_H
4 
5 #include <linux/types.h>
6 
7 #ifdef CONFIG_DETECT_HUNG_TASK
8 /* used for hung_task and block/ */
9 extern unsigned long sysctl_hung_task_timeout_secs;
10 #else
11 /* Avoid need for ifdefs elsewhere in the code */
12 enum { sysctl_hung_task_timeout_secs = 0 };
13 #endif
14 
15 extern unsigned int sysctl_sched_latency;
16 extern unsigned int sysctl_sched_wakeup_granularity;
17 #ifdef CONFIG_SCHED_WALT
18 extern unsigned int sysctl_sched_use_walt_cpu_util;
19 extern unsigned int sysctl_sched_use_walt_task_util;
20 extern unsigned int sysctl_sched_walt_init_task_load_pct;
21 extern unsigned int sysctl_sched_cpu_high_irqload;
22 
23 extern int
24 sysctl_sched_walt_init_task_load_pct_sysctl_handler(struct ctl_table *table,
25 		int write, void __user *buffer, size_t *length, loff_t *ppos);
26 #endif
27 
28 #ifdef CONFIG_SCHED_RT_CAS
29 extern unsigned int sysctl_sched_enable_rt_cas;
30 #endif
31 #ifdef CONFIG_SCHED_RT_ACTIVE_LB
32 extern unsigned int sysctl_sched_enable_rt_active_lb;
33 #endif
34 
35 enum sched_tunable_scaling {
36 	SCHED_TUNABLESCALING_NONE,
37 	SCHED_TUNABLESCALING_LOG,
38 	SCHED_TUNABLESCALING_LINEAR,
39 	SCHED_TUNABLESCALING_END,
40 };
41 
42 #define NUMA_BALANCING_DISABLED		0x0
43 #define NUMA_BALANCING_NORMAL		0x1
44 #define NUMA_BALANCING_MEMORY_TIERING	0x2
45 
46 #ifdef CONFIG_NUMA_BALANCING
47 extern int sysctl_numa_balancing_mode;
48 #else
49 #define sysctl_numa_balancing_mode	0
50 #endif
51 
52 #endif /* _LINUX_SCHED_SYSCTL_H */
53