mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs.git
synced 2026-11-01 06:46:35 +01: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 <[email protected]> Acked-by: Peter Zijlstra <[email protected]> Cc: Dietmar Eggemann <[email protected]> Cc: Juri Lelli <[email protected]> Cc: Linus Torvalds <[email protected]> Cc: Mel Gorman <[email protected]> Cc: Sebastian Andrzej Siewior <[email protected]> Cc: Shrikanth Hegde <[email protected]> Cc: Steven Rostedt <[email protected]> Cc: Valentin Schneider <[email protected]> Cc: Vincent Guittot <[email protected]> Link: https://lore.kernel.org/r/[email protected]
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 */
|