diff options
| -rw-r--r-- | include/linux/sched.h | 6 | ||||
| -rw-r--r-- | kernel/sched.c | 10 | ||||
| -rw-r--r-- | kernel/time/tick-sched.c | 2 |
3 files changed, 1 insertions, 17 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h index 747fcaedddb7..6e0bb86de990 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
| @@ -273,17 +273,11 @@ extern cpumask_var_t nohz_cpu_mask; | |||
| 273 | #if defined(CONFIG_SMP) && defined(CONFIG_NO_HZ) | 273 | #if defined(CONFIG_SMP) && defined(CONFIG_NO_HZ) |
| 274 | extern int select_nohz_load_balancer(int cpu); | 274 | extern int select_nohz_load_balancer(int cpu); |
| 275 | extern int get_nohz_load_balancer(void); | 275 | extern int get_nohz_load_balancer(void); |
| 276 | extern int nohz_ratelimit(int cpu); | ||
| 277 | #else | 276 | #else |
| 278 | static inline int select_nohz_load_balancer(int cpu) | 277 | static inline int select_nohz_load_balancer(int cpu) |
| 279 | { | 278 | { |
| 280 | return 0; | 279 | return 0; |
| 281 | } | 280 | } |
| 282 | |||
| 283 | static inline int nohz_ratelimit(int cpu) | ||
| 284 | { | ||
| 285 | return 0; | ||
| 286 | } | ||
| 287 | #endif | 281 | #endif |
| 288 | 282 | ||
| 289 | /* | 283 | /* |
diff --git a/kernel/sched.c b/kernel/sched.c index f52a8801b7a2..63b4a14682fa 100644 --- a/kernel/sched.c +++ b/kernel/sched.c | |||
| @@ -1232,16 +1232,6 @@ void wake_up_idle_cpu(int cpu) | |||
| 1232 | smp_send_reschedule(cpu); | 1232 | smp_send_reschedule(cpu); |
| 1233 | } | 1233 | } |
| 1234 | 1234 | ||
| 1235 | int nohz_ratelimit(int cpu) | ||
| 1236 | { | ||
| 1237 | struct rq *rq = cpu_rq(cpu); | ||
| 1238 | u64 diff = rq->clock - rq->nohz_stamp; | ||
| 1239 | |||
| 1240 | rq->nohz_stamp = rq->clock; | ||
| 1241 | |||
| 1242 | return diff < (NSEC_PER_SEC / HZ) >> 1; | ||
| 1243 | } | ||
| 1244 | |||
| 1245 | #endif /* CONFIG_NO_HZ */ | 1235 | #endif /* CONFIG_NO_HZ */ |
| 1246 | 1236 | ||
| 1247 | static u64 sched_avg_period(void) | 1237 | static u64 sched_avg_period(void) |
diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c index 813993b5fb61..f898af608171 100644 --- a/kernel/time/tick-sched.c +++ b/kernel/time/tick-sched.c | |||
| @@ -325,7 +325,7 @@ void tick_nohz_stop_sched_tick(int inidle) | |||
| 325 | } while (read_seqretry(&xtime_lock, seq)); | 325 | } while (read_seqretry(&xtime_lock, seq)); |
| 326 | 326 | ||
| 327 | if (rcu_needs_cpu(cpu) || printk_needs_cpu(cpu) || | 327 | if (rcu_needs_cpu(cpu) || printk_needs_cpu(cpu) || |
| 328 | arch_needs_cpu(cpu) || nohz_ratelimit(cpu)) { | 328 | arch_needs_cpu(cpu)) { |
| 329 | next_jiffies = last_jiffies + 1; | 329 | next_jiffies = last_jiffies + 1; |
| 330 | delta_jiffies = 1; | 330 | delta_jiffies = 1; |
| 331 | } else { | 331 | } else { |
