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