diff options
Diffstat (limited to 'kernel/time')
-rw-r--r-- | kernel/time/tick-sched.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c index 153870a91350..cc0a5b6f741b 100644 --- a/kernel/time/tick-sched.c +++ b/kernel/time/tick-sched.c | |||
@@ -1099,6 +1099,10 @@ static enum hrtimer_restart tick_sched_timer(struct hrtimer *timer) | |||
1099 | if (regs) | 1099 | if (regs) |
1100 | tick_sched_handle(ts, regs); | 1100 | tick_sched_handle(ts, regs); |
1101 | 1101 | ||
1102 | /* No need to reprogram if we are in idle or full dynticks mode */ | ||
1103 | if (unlikely(ts->tick_stopped)) | ||
1104 | return HRTIMER_NORESTART; | ||
1105 | |||
1102 | hrtimer_forward(timer, now, tick_period); | 1106 | hrtimer_forward(timer, now, tick_period); |
1103 | 1107 | ||
1104 | return HRTIMER_RESTART; | 1108 | return HRTIMER_RESTART; |