1 // SPDX-License-Identifier: GPL-2.0-only 2 /* 3 * These are the scheduling policy related scheduler files, built 4 * 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 and fair.c, the other two big 8 * compilation units. This helps balance build time, while 9 * coalescing source files to amortize header inclusion 10 * cost. ) 11 * 12 * core.c and fair.c are built separately. 13 */ 14 15 /* Headers: */ 16 #include <linux/sched/clock.h> 17 #include <linux/sched/cputime.h> 18 #include <linux/sched/hotplug.h> 19 #include <linux/sched/isolation.h> 20 #include <linux/sched/posix-timers.h> 21 #include <linux/sched/rt.h> 22 23 #include <linux/cpuidle.h> 24 #include <linux/jiffies.h> 25 #include <linux/kobject.h> 26 #include <linux/livepatch.h> 27 #include <linux/pm.h> 28 #include <linux/psi.h> 29 #include <linux/rhashtable.h> 30 #include <linux/seq_buf.h> 31 #include <linux/seqlock_api.h> 32 #include <linux/slab.h> 33 #include <linux/suspend.h> 34 #include <linux/tsacct_kern.h> 35 #include <linux/vtime.h> 36 #include <linux/sysrq.h> 37 #include <linux/percpu-rwsem.h> 38 39 #include <uapi/linux/sched/types.h> 40 41 #include "sched.h" 42 #include "smp.h" 43 44 #include "autogroup.h" 45 #include "stats.h" 46 #include "pelt.h" 47 48 /* Source code modules: */ 49 50 #include "idle.c" 51 52 #include "rt.c" 53 54 #ifdef CONFIG_SMP 55 # include "cpudeadline.c" 56 # include "pelt.c" 57 #endif 58 59 #include "cputime.c" 60 #include "deadline.c" 61 62 #ifdef CONFIG_SCHED_CLASS_EXT 63 # include "ext.c" 64 #endif 65 66 #include "syscalls.c" 67