build_utility.c 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  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. #include <linux/cpufreq.h>
  22. #include <linux/cpumask_api.h>
  23. #include <linux/cpuset.h>
  24. #include <linux/ctype.h>
  25. #include <linux/debugfs.h>
  26. #include <linux/energy_model.h>
  27. #include <linux/hashtable_api.h>
  28. #include <linux/irq.h>
  29. #include <linux/kobject_api.h>
  30. #include <linux/membarrier.h>
  31. #include <linux/mempolicy.h>
  32. #include <linux/nmi.h>
  33. #include <linux/nospec.h>
  34. #include <linux/proc_fs.h>
  35. #include <linux/psi.h>
  36. #include <linux/ptrace_api.h>
  37. #include <linux/sched_clock.h>
  38. #include <linux/security.h>
  39. #include <linux/spinlock_api.h>
  40. #include <linux/swait_api.h>
  41. #include <linux/timex.h>
  42. #include <linux/utsname.h>
  43. #include <linux/wait_api.h>
  44. #include <linux/workqueue_api.h>
  45. #include <uapi/linux/prctl.h>
  46. #include <uapi/linux/sched/types.h>
  47. #include <asm/switch_to.h>
  48. #include "sched.h"
  49. #include "sched-pelt.h"
  50. #include "stats.h"
  51. #include "autogroup.h"
  52. #include "clock.c"
  53. #ifdef CONFIG_CGROUP_CPUACCT
  54. # include "cpuacct.c"
  55. #endif
  56. #ifdef CONFIG_CPU_FREQ
  57. # include "cpufreq.c"
  58. #endif
  59. #ifdef CONFIG_CPU_FREQ_GOV_SCHEDUTIL
  60. # include "cpufreq_schedutil.c"
  61. #endif
  62. #ifdef CONFIG_SCHED_DEBUG
  63. # include "debug.c"
  64. #endif
  65. #ifdef CONFIG_SCHEDSTATS
  66. # include "stats.c"
  67. #endif
  68. #include "loadavg.c"
  69. #include "completion.c"
  70. #include "swait.c"
  71. #include "wait_bit.c"
  72. #include "wait.c"
  73. #ifdef CONFIG_SMP
  74. # include "cpupri.c"
  75. # include "stop_task.c"
  76. # include "topology.c"
  77. #endif
  78. #ifdef CONFIG_SCHED_CORE
  79. # include "core_sched.c"
  80. #endif
  81. #ifdef CONFIG_PSI
  82. # include "psi.c"
  83. #endif
  84. #ifdef CONFIG_MEMBARRIER
  85. # include "membarrier.c"
  86. #endif
  87. #ifdef CONFIG_CPU_ISOLATION
  88. # include "isolation.c"
  89. #endif
  90. #ifdef CONFIG_SCHED_AUTOGROUP
  91. # include "autogroup.c"
  92. #endif