diff options
author | Ingo Molnar <mingo@kernel.org> | 2022-02-22 13:23:24 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2022-02-23 10:58:33 +0100 |
commit | 801c141955108fb7cf1244dda76e6de8b16fd3ae (patch) | |
tree | d58167bbd5b0624095721d3e2426b28c2af140a7 /kernel/sched/sched.h | |
parent | sched/headers: Make the <linux/sched/deadline.h> header build standalone (diff) | |
download | linux-801c141955108fb7cf1244dda76e6de8b16fd3ae.tar.xz linux-801c141955108fb7cf1244dda76e6de8b16fd3ae.zip |
sched/headers: Introduce kernel/sched/build_utility.c and build multiple .c files there
Collect all utility functionality source code files into a single kernel/sched/build_utility.c file,
via #include-ing the .c files:
kernel/sched/clock.c
kernel/sched/completion.c
kernel/sched/loadavg.c
kernel/sched/swait.c
kernel/sched/wait_bit.c
kernel/sched/wait.c
CONFIG_CPU_FREQ:
kernel/sched/cpufreq.c
CONFIG_CPU_FREQ_GOV_SCHEDUTIL:
kernel/sched/cpufreq_schedutil.c
CONFIG_CGROUP_CPUACCT:
kernel/sched/cpuacct.c
CONFIG_SCHED_DEBUG:
kernel/sched/debug.c
CONFIG_SCHEDSTATS:
kernel/sched/stats.c
CONFIG_SMP:
kernel/sched/cpupri.c
kernel/sched/stop_task.c
kernel/sched/topology.c
CONFIG_SCHED_CORE:
kernel/sched/core_sched.c
CONFIG_PSI:
kernel/sched/psi.c
CONFIG_MEMBARRIER:
kernel/sched/membarrier.c
CONFIG_CPU_ISOLATION:
kernel/sched/isolation.c
CONFIG_SCHED_AUTOGROUP:
kernel/sched/autogroup.c
The goal is to amortize the 60+ KLOC header bloat from over a dozen build units into
a single build unit.
The build time of build_utility.c also roughly matches the build time of core.c and
fair.c - allowing better load-balancing of scheduler-only rebuilds.
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Reviewed-by: Peter Zijlstra <peterz@infradead.org>
Diffstat (limited to 'kernel/sched/sched.h')
-rw-r--r-- | kernel/sched/sched.h | 57 |
1 files changed, 55 insertions, 2 deletions
diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h index eab4a18f71c2..79c7a8a2be65 100644 --- a/kernel/sched/sched.h +++ b/kernel/sched/sched.h @@ -6,7 +6,25 @@ #define _KERNEL_SCHED_SCHED_H #include <linux/sched.h> +#include <linux/cpumask.h> +#include <linux/ktime_api.h> +#include <linux/cgroup_api.h> +#include <linux/topology.h> +#include <linux/prctl.h> +#include <linux/ptrace_api.h> +#include <linux/gfp_api.h> +#include <linux/sched/clock.h> +#include <linux/workqueue_api.h> +#include <linux/tick.h> +#include <linux/ktime_api.h> +#include <linux/swait_api.h> +#include <linux/hashtable_api.h> +#include <linux/cpufreq.h> +#include <linux/utsname.h> +#include <asm/irq_regs.h> + +#include <linux/sched/affinity.h> #include <linux/sched/autogroup.h> #include <linux/sched/clock.h> #include <linux/sched/coredump.h> @@ -24,6 +42,7 @@ #include <linux/sched/nohz.h> #include <linux/sched/numa_balancing.h> #include <linux/sched/prio.h> +#include <linux/sched/rseq_api.h> #include <linux/sched/rt.h> #include <linux/sched/signal.h> #include <linux/sched/smt.h> @@ -31,6 +50,7 @@ #include <linux/sched/sysctl.h> #include <linux/sched/task.h> #include <linux/sched/task_stack.h> +#include <linux/sched/thread_info_api.h> #include <linux/sched/topology.h> #include <linux/sched/user.h> #include <linux/sched/wake_q.h> @@ -69,8 +89,7 @@ #include <linux/syscalls.h> #include <linux/task_work.h> #include <linux/tsacct_kern.h> - -#include <asm/tlb.h> +#include <linux/hrtimer_api.h> #ifdef CONFIG_PARAVIRT # include <asm/paravirt.h> @@ -87,6 +106,40 @@ # define SCHED_WARN_ON(x) ({ (void)(x), 0; }) #endif +#include <linux/bitmap.h> +#include <linux/capability.h> +#include <linux/cgroup.h> +#include <linux/cpufreq.h> +#include <linux/cpumask_api.h> +#include <linux/ctype.h> +#include <linux/file.h> +#include <linux/jiffies.h> +#include <linux/kref_api.h> +#include <linux/lockdep_api.h> +#include <linux/module.h> +#include <linux/mutex_api.h> +#include <linux/poll.h> +#include <linux/proc_fs.h> +#include <linux/psi.h> +#include <linux/sched/affinity.h> +#include <linux/sched.h> +#include <linux/sched/loadavg.h> +#include <linux/sched/mm.h> +#include <linux/sched/rseq_api.h> +#include <linux/seq_file.h> +#include <linux/seqlock.h> +#include <linux/syscalls_api.h> +#include <linux/syscalls.h> +#include <linux/topology.h> +#include <linux/types.h> +#include <linux/uaccess.h> +#include <linux/wait_api.h> +#include <linux/workqueue_api.h> + +#include <trace/events/power.h> + +#include "../workqueue_internal.h" + struct rq; struct cpuidle_state; |