build_utility.c (2409B)
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/psi.h> 38#include <linux/ptrace_api.h> 39#include <linux/sched_clock.h> 40#include <linux/security.h> 41#include <linux/spinlock_api.h> 42#include <linux/swait_api.h> 43#include <linux/timex.h> 44#include <linux/utsname.h> 45#include <linux/wait_api.h> 46#include <linux/workqueue_api.h> 47 48#include <uapi/linux/prctl.h> 49#include <uapi/linux/sched/types.h> 50 51#include <asm/switch_to.h> 52 53#include "sched.h" 54#include "sched-pelt.h" 55#include "stats.h" 56#include "autogroup.h" 57 58#include "clock.c" 59 60#ifdef CONFIG_CGROUP_CPUACCT 61# include "cpuacct.c" 62#endif 63 64#ifdef CONFIG_CPU_FREQ 65# include "cpufreq.c" 66#endif 67 68#ifdef CONFIG_CPU_FREQ_GOV_SCHEDUTIL 69# include "cpufreq_schedutil.c" 70#endif 71 72#ifdef CONFIG_SCHED_DEBUG 73# include "debug.c" 74#endif 75 76#ifdef CONFIG_SCHEDSTATS 77# include "stats.c" 78#endif 79 80#include "loadavg.c" 81#include "completion.c" 82#include "swait.c" 83#include "wait_bit.c" 84#include "wait.c" 85 86#ifdef CONFIG_SMP 87# include "cpupri.c" 88# include "stop_task.c" 89# include "topology.c" 90#endif 91 92#ifdef CONFIG_SCHED_CORE 93# include "core_sched.c" 94#endif 95 96#ifdef CONFIG_PSI 97# include "psi.c" 98#endif 99 100#ifdef CONFIG_MEMBARRIER 101# include "membarrier.c" 102#endif 103 104#ifdef CONFIG_CPU_ISOLATION 105# include "isolation.c" 106#endif 107 108#ifdef CONFIG_SCHED_AUTOGROUP 109# include "autogroup.c" 110#endif