xref: /openbmc/linux/kernel/sched/build_utility.c (revision d664e399)
1801c1419SIngo Molnar // SPDX-License-Identifier: GPL-2.0-only
2801c1419SIngo Molnar /*
3801c1419SIngo Molnar  * These are various utility functions of the scheduler,
4801c1419SIngo Molnar  * built in a single compilation unit for build efficiency reasons.
5801c1419SIngo Molnar  *
6801c1419SIngo Molnar  * ( Incidentally, the size of the compilation unit is roughly
7801c1419SIngo Molnar  *   comparable to core.c, fair.c, smp.c and policy.c, the other
8801c1419SIngo Molnar  *   big compilation units. This helps balance build time, while
9801c1419SIngo Molnar  *   coalescing source files to amortize header inclusion
10801c1419SIngo Molnar  *   cost. )
11801c1419SIngo Molnar  */
12e81daa7bSIngo Molnar #include <linux/sched/clock.h>
13e81daa7bSIngo Molnar #include <linux/sched/cputime.h>
14e81daa7bSIngo Molnar #include <linux/sched/debug.h>
15e81daa7bSIngo Molnar #include <linux/sched/isolation.h>
16e81daa7bSIngo Molnar #include <linux/sched/loadavg.h>
17*d664e399SThomas Gleixner #include <linux/sched/nohz.h>
18e81daa7bSIngo Molnar #include <linux/sched/mm.h>
19e81daa7bSIngo Molnar #include <linux/sched/rseq_api.h>
20e81daa7bSIngo Molnar #include <linux/sched/task_stack.h>
21e81daa7bSIngo Molnar 
22e81daa7bSIngo Molnar #include <linux/cpufreq.h>
23e81daa7bSIngo Molnar #include <linux/cpumask_api.h>
24e81daa7bSIngo Molnar #include <linux/cpuset.h>
25e81daa7bSIngo Molnar #include <linux/ctype.h>
26e81daa7bSIngo Molnar #include <linux/debugfs.h>
27e81daa7bSIngo Molnar #include <linux/energy_model.h>
28e81daa7bSIngo Molnar #include <linux/hashtable_api.h>
29e81daa7bSIngo Molnar #include <linux/irq.h>
30e81daa7bSIngo Molnar #include <linux/kobject_api.h>
31e81daa7bSIngo Molnar #include <linux/membarrier.h>
32e81daa7bSIngo Molnar #include <linux/mempolicy.h>
33e81daa7bSIngo Molnar #include <linux/nmi.h>
34e81daa7bSIngo Molnar #include <linux/nospec.h>
35e81daa7bSIngo Molnar #include <linux/proc_fs.h>
36e81daa7bSIngo Molnar #include <linux/psi.h>
37e81daa7bSIngo Molnar #include <linux/psi.h>
38e81daa7bSIngo Molnar #include <linux/ptrace_api.h>
39e81daa7bSIngo Molnar #include <linux/sched_clock.h>
40e81daa7bSIngo Molnar #include <linux/security.h>
41e81daa7bSIngo Molnar #include <linux/spinlock_api.h>
42e81daa7bSIngo Molnar #include <linux/swait_api.h>
43e81daa7bSIngo Molnar #include <linux/timex.h>
44e81daa7bSIngo Molnar #include <linux/utsname.h>
45e81daa7bSIngo Molnar #include <linux/wait_api.h>
46e81daa7bSIngo Molnar #include <linux/workqueue_api.h>
47e81daa7bSIngo Molnar 
48e81daa7bSIngo Molnar #include <uapi/linux/prctl.h>
49e81daa7bSIngo Molnar #include <uapi/linux/sched/types.h>
50801c1419SIngo Molnar 
514ff8f2caSIngo Molnar #include <asm/switch_to.h>
524ff8f2caSIngo Molnar 
53801c1419SIngo Molnar #include "sched.h"
54801c1419SIngo Molnar #include "sched-pelt.h"
55b9e9c6caSIngo Molnar #include "stats.h"
56b9e9c6caSIngo Molnar #include "autogroup.h"
57801c1419SIngo Molnar 
58801c1419SIngo Molnar #include "clock.c"
59801c1419SIngo Molnar 
60801c1419SIngo Molnar #ifdef CONFIG_CGROUP_CPUACCT
61801c1419SIngo Molnar # include "cpuacct.c"
62801c1419SIngo Molnar #endif
63801c1419SIngo Molnar 
64801c1419SIngo Molnar #ifdef CONFIG_CPU_FREQ
65801c1419SIngo Molnar # include "cpufreq.c"
66801c1419SIngo Molnar #endif
67801c1419SIngo Molnar 
68801c1419SIngo Molnar #ifdef CONFIG_CPU_FREQ_GOV_SCHEDUTIL
69801c1419SIngo Molnar # include "cpufreq_schedutil.c"
70801c1419SIngo Molnar #endif
71801c1419SIngo Molnar 
72801c1419SIngo Molnar #ifdef CONFIG_SCHED_DEBUG
73801c1419SIngo Molnar # include "debug.c"
74801c1419SIngo Molnar #endif
75801c1419SIngo Molnar 
76801c1419SIngo Molnar #ifdef CONFIG_SCHEDSTATS
77801c1419SIngo Molnar # include "stats.c"
78801c1419SIngo Molnar #endif
79801c1419SIngo Molnar 
80801c1419SIngo Molnar #include "loadavg.c"
81801c1419SIngo Molnar #include "completion.c"
82801c1419SIngo Molnar #include "swait.c"
83801c1419SIngo Molnar #include "wait_bit.c"
84801c1419SIngo Molnar #include "wait.c"
85801c1419SIngo Molnar 
86801c1419SIngo Molnar #ifdef CONFIG_SMP
87801c1419SIngo Molnar # include "cpupri.c"
88801c1419SIngo Molnar # include "stop_task.c"
89801c1419SIngo Molnar # include "topology.c"
90801c1419SIngo Molnar #endif
91801c1419SIngo Molnar 
92801c1419SIngo Molnar #ifdef CONFIG_SCHED_CORE
93801c1419SIngo Molnar # include "core_sched.c"
94801c1419SIngo Molnar #endif
95801c1419SIngo Molnar 
96801c1419SIngo Molnar #ifdef CONFIG_PSI
97801c1419SIngo Molnar # include "psi.c"
98801c1419SIngo Molnar #endif
99801c1419SIngo Molnar 
100801c1419SIngo Molnar #ifdef CONFIG_MEMBARRIER
101801c1419SIngo Molnar # include "membarrier.c"
102801c1419SIngo Molnar #endif
103801c1419SIngo Molnar 
104801c1419SIngo Molnar #ifdef CONFIG_CPU_ISOLATION
105801c1419SIngo Molnar # include "isolation.c"
106801c1419SIngo Molnar #endif
107801c1419SIngo Molnar 
108801c1419SIngo Molnar #ifdef CONFIG_SCHED_AUTOGROUP
109801c1419SIngo Molnar # include "autogroup.c"
110801c1419SIngo Molnar #endif
111