diff options
Diffstat (limited to 'include/linux/tick.h')
| -rw-r--r-- | include/linux/tick.h | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/include/linux/tick.h b/include/linux/tick.h index 553272e6af55..9180f4b85e6d 100644 --- a/include/linux/tick.h +++ b/include/linux/tick.h | |||
| @@ -82,7 +82,7 @@ extern int tick_program_event(ktime_t expires, int force); | |||
| 82 | extern void tick_setup_sched_timer(void); | 82 | extern void tick_setup_sched_timer(void); |
| 83 | # endif | 83 | # endif |
| 84 | 84 | ||
| 85 | # if defined CONFIG_NO_HZ || defined CONFIG_HIGH_RES_TIMERS | 85 | # if defined CONFIG_NO_HZ_COMMON || defined CONFIG_HIGH_RES_TIMERS |
| 86 | extern void tick_cancel_sched_timer(int cpu); | 86 | extern void tick_cancel_sched_timer(int cpu); |
| 87 | # else | 87 | # else |
| 88 | static inline void tick_cancel_sched_timer(int cpu) { } | 88 | static inline void tick_cancel_sched_timer(int cpu) { } |
| @@ -123,7 +123,7 @@ static inline void tick_check_idle(int cpu) { } | |||
| 123 | static inline int tick_oneshot_mode_active(void) { return 0; } | 123 | static inline int tick_oneshot_mode_active(void) { return 0; } |
| 124 | #endif /* !CONFIG_GENERIC_CLOCKEVENTS */ | 124 | #endif /* !CONFIG_GENERIC_CLOCKEVENTS */ |
| 125 | 125 | ||
| 126 | # ifdef CONFIG_NO_HZ | 126 | # ifdef CONFIG_NO_HZ_COMMON |
| 127 | DECLARE_PER_CPU(struct tick_sched, tick_cpu_sched); | 127 | DECLARE_PER_CPU(struct tick_sched, tick_cpu_sched); |
| 128 | 128 | ||
| 129 | static inline int tick_nohz_tick_stopped(void) | 129 | static inline int tick_nohz_tick_stopped(void) |
| @@ -138,7 +138,7 @@ extern ktime_t tick_nohz_get_sleep_length(void); | |||
| 138 | extern u64 get_cpu_idle_time_us(int cpu, u64 *last_update_time); | 138 | extern u64 get_cpu_idle_time_us(int cpu, u64 *last_update_time); |
| 139 | extern u64 get_cpu_iowait_time_us(int cpu, u64 *last_update_time); | 139 | extern u64 get_cpu_iowait_time_us(int cpu, u64 *last_update_time); |
| 140 | 140 | ||
| 141 | # else /* !CONFIG_NO_HZ */ | 141 | # else /* !CONFIG_NO_HZ_COMMON */ |
| 142 | static inline int tick_nohz_tick_stopped(void) | 142 | static inline int tick_nohz_tick_stopped(void) |
| 143 | { | 143 | { |
| 144 | return 0; | 144 | return 0; |
| @@ -155,7 +155,24 @@ static inline ktime_t tick_nohz_get_sleep_length(void) | |||
| 155 | } | 155 | } |
| 156 | static inline u64 get_cpu_idle_time_us(int cpu, u64 *unused) { return -1; } | 156 | static inline u64 get_cpu_idle_time_us(int cpu, u64 *unused) { return -1; } |
| 157 | static inline u64 get_cpu_iowait_time_us(int cpu, u64 *unused) { return -1; } | 157 | static inline u64 get_cpu_iowait_time_us(int cpu, u64 *unused) { return -1; } |
| 158 | # endif /* !NO_HZ */ | 158 | # endif /* !CONFIG_NO_HZ_COMMON */ |
| 159 | |||
| 160 | #ifdef CONFIG_NO_HZ_FULL | ||
| 161 | extern void tick_nohz_init(void); | ||
| 162 | extern int tick_nohz_full_cpu(int cpu); | ||
| 163 | extern void tick_nohz_full_check(void); | ||
| 164 | extern void tick_nohz_full_kick(void); | ||
| 165 | extern void tick_nohz_full_kick_all(void); | ||
| 166 | extern void tick_nohz_task_switch(struct task_struct *tsk); | ||
| 167 | #else | ||
| 168 | static inline void tick_nohz_init(void) { } | ||
| 169 | static inline int tick_nohz_full_cpu(int cpu) { return 0; } | ||
| 170 | static inline void tick_nohz_full_check(void) { } | ||
| 171 | static inline void tick_nohz_full_kick(void) { } | ||
| 172 | static inline void tick_nohz_full_kick_all(void) { } | ||
| 173 | static inline void tick_nohz_task_switch(struct task_struct *tsk) { } | ||
| 174 | #endif | ||
| 175 | |||
| 159 | 176 | ||
| 160 | # ifdef CONFIG_CPU_IDLE_GOV_MENU | 177 | # ifdef CONFIG_CPU_IDLE_GOV_MENU |
| 161 | extern void menu_hrtimer_cancel(void); | 178 | extern void menu_hrtimer_cancel(void); |
