]>
Commit | Line | Data |
---|---|---|
b2441318 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
370c9135 IM |
2 | #ifndef _LINUX_SCHED_NOHZ_H |
3 | #define _LINUX_SCHED_NOHZ_H | |
4 | ||
752b3ca7 | 5 | /* |
86d35afb | 6 | * This is the interface between the scheduler and nohz/dynticks: |
752b3ca7 IM |
7 | */ |
8 | ||
752b3ca7 IM |
9 | #if defined(CONFIG_SMP) && defined(CONFIG_NO_HZ_COMMON) |
10 | extern void nohz_balance_enter_idle(int cpu); | |
752b3ca7 IM |
11 | extern int get_nohz_timer_target(void); |
12 | #else | |
13 | static inline void nohz_balance_enter_idle(int cpu) { } | |
752b3ca7 IM |
14 | #endif |
15 | ||
16 | #ifdef CONFIG_NO_HZ_COMMON | |
3c85d6db | 17 | void calc_load_nohz_start(void); |
ebc0f83c | 18 | void calc_load_nohz_remote(struct rq *rq); |
3c85d6db | 19 | void calc_load_nohz_stop(void); |
752b3ca7 | 20 | #else |
3c85d6db | 21 | static inline void calc_load_nohz_start(void) { } |
ebc0f83c | 22 | static inline void calc_load_nohz_remote(struct rq *rq) { } |
3c85d6db | 23 | static inline void calc_load_nohz_stop(void) { } |
752b3ca7 IM |
24 | #endif /* CONFIG_NO_HZ_COMMON */ |
25 | ||
26 | #if defined(CONFIG_NO_HZ_COMMON) && defined(CONFIG_SMP) | |
27 | extern void wake_up_nohz_cpu(int cpu); | |
28 | #else | |
29 | static inline void wake_up_nohz_cpu(int cpu) { } | |
30 | #endif | |
31 | ||
370c9135 | 32 | #endif /* _LINUX_SCHED_NOHZ_H */ |