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/posix-timers.h> 20 #include <linux/sched/rt.h> 21 22 #include <linux/cpuidle.h> 23 #include <linux/jiffies.h> 24 #include <linux/livepatch.h> 25 #include <linux/psi.h> 26 #include <linux/seqlock_api.h> 27 #include <linux/slab.h> 28 #include <linux/suspend.h> 29 #include <linux/tsacct_kern.h> 30 #include <linux/vtime.h> 31 32 #include <uapi/linux/sched/types.h> 33 34 #include "sched.h" 35 #include "smp.h" 36 37 #include "autogroup.h" 38 #include "stats.h" 39 #include "pelt.h" 40 41 /* Source code modules: */ 42 43 #include "idle.c" 44 45 #include "rt.c" 46 47 #ifdef CONFIG_SMP 48 # include "cpudeadline.c" 49 # include "pelt.c" 50 #endif 51 52 #include "cputime.c" 53 #include "deadline.c" 54 55