1// SPDX-License-Identifier: GPL-2.0-only 2/* 3 * These are various utility functions of the scheduler, 4 * built in a single compilation unit for build efficiency reasons. 5 * 6 * ( Incidentally, the size of the compilation unit is roughly 7 * comparable to core.c, fair.c, smp.c and policy.c, the other 8 * big compilation units. This helps balance build time, while 9 * coalescing source files to amortize header inclusion 10 * cost. ) 11 */ 12#include <linux/sched/clock.h> 13#include <linux/sched/cputime.h> 14#include <linux/sched/debug.h> 15#include <linux/sched/isolation.h> 16#include <linux/sched/loadavg.h> 17#include <linux/sched/nohz.h> 18#include <linux/sched/mm.h> 19#include <linux/sched/rseq_api.h> 20#include <linux/sched/task_stack.h> 21 22#include <linux/cpufreq.h> 23#include <linux/cpumask_api.h> 24#include <linux/cpuset.h> 25#include <linux/ctype.h> 26#include <linux/debugfs.h> 27#include <linux/energy_model.h> 28#include <linux/hashtable_api.h> 29#include <linux/irq.h> 30#include <linux/kobject_api.h> 31#include <linux/membarrier.h> 32#include <linux/mempolicy.h> 33#include <linux/nmi.h> 34#include <linux/nospec.h> 35#include <linux/proc_fs.h> 36#include <linux/psi.h> 37#include <linux/ptrace_api.h> 38#include <linux/sched_clock.h> 39#include <linux/security.h> 40#include <linux/spinlock_api.h> 41#include <linux/swait_api.h> 42#include <linux/timex.h> 43#include <linux/utsname.h> 44#include <linux/wait_api.h> 45#include <linux/workqueue_api.h> 46 47#include <uapi/linux/prctl.h> 48#include <uapi/linux/sched/types.h> 49 50#include <asm/switch_to.h> 51 52#include "sched.h" 53#include "sched-pelt.h" 54#include "stats.h" 55#include "autogroup.h" 56 57#include "clock.c" 58 59#ifdef CONFIG_CGROUP_CPUACCT 60# include "cpuacct.c" 61#endif 62 63#ifdef CONFIG_CPU_FREQ 64# include "cpufreq.c" 65#endif 66 67#ifdef CONFIG_CPU_FREQ_GOV_SCHEDUTIL 68# include "cpufreq_schedutil.c" 69#endif 70 71#ifdef CONFIG_SCHED_DEBUG 72# include "debug.c" 73#endif 74 75#ifdef CONFIG_SCHEDSTATS 76# include "stats.c" 77#endif 78 79#include "loadavg.c" 80#include "completion.c" 81#include "swait.c" 82#include "wait_bit.c" 83#include "wait.c" 84 85#ifdef CONFIG_SMP 86# include "cpupri.c" 87# include "stop_task.c" 88# include "topology.c" 89#endif 90 91#ifdef CONFIG_SCHED_CORE 92# include "core_sched.c" 93#endif 94 95#ifdef CONFIG_PSI 96# include "psi.c" 97#endif 98 99#ifdef CONFIG_MEMBARRIER 100# include "membarrier.c" 101#endif 102 103#ifdef CONFIG_CPU_ISOLATION 104# include "isolation.c" 105#endif 106 107#ifdef CONFIG_SCHED_AUTOGROUP 108# include "autogroup.c" 109#endif 110