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