]> git.proxmox.com Git - mirror_ubuntu-kernels.git/blame - include/linux/sched/nohz.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
[mirror_ubuntu-kernels.git] / include / linux / sched / nohz.h
CommitLineData
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)
10extern void cpu_load_update_nohz_start(void);
11extern void cpu_load_update_nohz_stop(void);
12#else
13static inline void cpu_load_update_nohz_start(void) { }
14static inline void cpu_load_update_nohz_stop(void) { }
15#endif
16
17#if defined(CONFIG_SMP) && defined(CONFIG_NO_HZ_COMMON)
18extern void nohz_balance_enter_idle(int cpu);
19extern void set_cpu_sd_state_idle(void);
20extern int get_nohz_timer_target(void);
21#else
22static inline void nohz_balance_enter_idle(int cpu) { }
23static inline void set_cpu_sd_state_idle(void) { }
24#endif
25
26#ifdef CONFIG_NO_HZ_COMMON
3c85d6db
FW
27void calc_load_nohz_start(void);
28void calc_load_nohz_stop(void);
752b3ca7 29#else
3c85d6db
FW
30static inline void calc_load_nohz_start(void) { }
31static 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)
35extern void wake_up_nohz_cpu(int cpu);
36#else
37static inline void wake_up_nohz_cpu(int cpu) { }
38#endif
39
40#ifdef CONFIG_NO_HZ_FULL
41extern u64 scheduler_tick_max_deferment(void);
42#endif
43
370c9135 44#endif /* _LINUX_SCHED_NOHZ_H */