mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-08-15 18:15:09 +00:00

Simplify the scheduler by making CONFIG_SMP=y primitives and data structures unconditional. Introduce transitory wrappers for functionality not yet converted to SMP. Note that this patch is pretty large, because there's no clear separation between various aspects of the SMP scheduler, it's basically a huge block of #ifdef CONFIG_SMP. A fair amount of it has to be switched on for it to boot and work on UP systems. Signed-off-by: Ingo Molnar <mingo@kernel.org> Acked-by: Peter Zijlstra <peterz@infradead.org> Cc: Dietmar Eggemann <dietmar.eggemann@arm.com> Cc: Juri Lelli <juri.lelli@redhat.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Mel Gorman <mgorman@suse.de> Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Cc: Shrikanth Hegde <sshegde@linux.ibm.com> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Valentin Schneider <vschneid@redhat.com> Cc: Vincent Guittot <vincent.guittot@linaro.org> Link: https://lore.kernel.org/r/20250528080924.2273858-21-mingo@kernel.org
66 lines
1.5 KiB
C
66 lines
1.5 KiB
C
// SPDX-License-Identifier: GPL-2.0-only
|
|
/*
|
|
* These are the scheduling policy related scheduler files, built
|
|
* in a single compilation unit for build efficiency reasons.
|
|
*
|
|
* ( Incidentally, the size of the compilation unit is roughly
|
|
* comparable to core.c and fair.c, the other two big
|
|
* compilation units. This helps balance build time, while
|
|
* coalescing source files to amortize header inclusion
|
|
* cost. )
|
|
*
|
|
* core.c and fair.c are built separately.
|
|
*/
|
|
|
|
/* Headers: */
|
|
#include <linux/sched/clock.h>
|
|
#include <linux/sched/cputime.h>
|
|
#include <linux/sched/hotplug.h>
|
|
#include <linux/sched/isolation.h>
|
|
#include <linux/sched/posix-timers.h>
|
|
#include <linux/sched/rt.h>
|
|
|
|
#include <linux/cpuidle.h>
|
|
#include <linux/jiffies.h>
|
|
#include <linux/kobject.h>
|
|
#include <linux/livepatch.h>
|
|
#include <linux/pm.h>
|
|
#include <linux/psi.h>
|
|
#include <linux/rhashtable.h>
|
|
#include <linux/seq_buf.h>
|
|
#include <linux/seqlock_api.h>
|
|
#include <linux/slab.h>
|
|
#include <linux/suspend.h>
|
|
#include <linux/tsacct_kern.h>
|
|
#include <linux/vtime.h>
|
|
#include <linux/sysrq.h>
|
|
#include <linux/percpu-rwsem.h>
|
|
|
|
#include <uapi/linux/sched/types.h>
|
|
|
|
#include "sched.h"
|
|
#include "smp.h"
|
|
|
|
#include "autogroup.h"
|
|
#include "stats.h"
|
|
#include "pelt.h"
|
|
|
|
/* Source code modules: */
|
|
|
|
#include "idle.c"
|
|
|
|
#include "rt.c"
|
|
#include "cpudeadline.c"
|
|
|
|
#include "pelt.c"
|
|
|
|
#include "cputime.c"
|
|
#include "deadline.c"
|
|
|
|
#ifdef CONFIG_SCHED_CLASS_EXT
|
|
# include "ext.c"
|
|
# include "ext_idle.c"
|
|
#endif
|
|
|
|
#include "syscalls.c"
|