]>
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 | ||
9 | #if defined(CONFIG_SMP) && defined(CONFIG_NO_HZ_COMMON) | |
10 | extern void cpu_load_update_nohz_start(void); | |
11 | extern void cpu_load_update_nohz_stop(void); | |
12 | #else | |
13 | static inline void cpu_load_update_nohz_start(void) { } | |
14 | static inline void cpu_load_update_nohz_stop(void) { } | |
15 | #endif | |
16 | ||
17 | #if defined(CONFIG_SMP) && defined(CONFIG_NO_HZ_COMMON) | |
18 | extern void nohz_balance_enter_idle(int cpu); | |
19 | extern void set_cpu_sd_state_idle(void); | |
20 | extern int get_nohz_timer_target(void); | |
21 | #else | |
22 | static inline void nohz_balance_enter_idle(int cpu) { } | |
23 | static inline void set_cpu_sd_state_idle(void) { } | |
24 | #endif | |
25 | ||
26 | #ifdef CONFIG_NO_HZ_COMMON | |
3c85d6db FW |
27 | void calc_load_nohz_start(void); |
28 | void calc_load_nohz_stop(void); | |
752b3ca7 | 29 | #else |
3c85d6db FW |
30 | static inline void calc_load_nohz_start(void) { } |
31 | static inline void calc_load_nohz_stop(void) { } | |
752b3ca7 IM |
32 | #endif /* CONFIG_NO_HZ_COMMON */ |
33 | ||
34 | #if defined(CONFIG_NO_HZ_COMMON) && defined(CONFIG_SMP) | |
35 | extern void wake_up_nohz_cpu(int cpu); | |
36 | #else | |
37 | static inline void wake_up_nohz_cpu(int cpu) { } | |
38 | #endif | |
39 | ||
40 | #ifdef CONFIG_NO_HZ_FULL | |
41 | extern u64 scheduler_tick_max_deferment(void); | |
42 | #endif | |
43 | ||
370c9135 | 44 | #endif /* _LINUX_SCHED_NOHZ_H */ |