mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-01-15 11:03:02 +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
33 lines
849 B
C
33 lines
849 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef _LINUX_SCHED_NOHZ_H
|
|
#define _LINUX_SCHED_NOHZ_H
|
|
|
|
/*
|
|
* This is the interface between the scheduler and nohz/dynticks:
|
|
*/
|
|
|
|
#ifdef CONFIG_NO_HZ_COMMON
|
|
extern void nohz_balance_enter_idle(int cpu);
|
|
extern int get_nohz_timer_target(void);
|
|
#else
|
|
static inline void nohz_balance_enter_idle(int cpu) { }
|
|
#endif
|
|
|
|
#ifdef CONFIG_NO_HZ_COMMON
|
|
void calc_load_nohz_start(void);
|
|
void calc_load_nohz_remote(struct rq *rq);
|
|
void calc_load_nohz_stop(void);
|
|
#else
|
|
static inline void calc_load_nohz_start(void) { }
|
|
static inline void calc_load_nohz_remote(struct rq *rq) { }
|
|
static inline void calc_load_nohz_stop(void) { }
|
|
#endif /* CONFIG_NO_HZ_COMMON */
|
|
|
|
#ifdef CONFIG_NO_HZ_COMMON
|
|
extern void wake_up_nohz_cpu(int cpu);
|
|
#else
|
|
static inline void wake_up_nohz_cpu(int cpu) { }
|
|
#endif
|
|
|
|
#endif /* _LINUX_SCHED_NOHZ_H */
|