diff options
| author | Frederic Weisbecker <[email protected]> | 2017-05-15 14:56:50 +0200 |
|---|---|---|
| committer | Ingo Molnar <[email protected]> | 2017-05-30 18:35:32 +0200 |
| commit | 7c25904508afef134d7a9d2ad1690ee6554a1faa (patch) | |
| tree | d47750e02e4db44c1db625413e96ec4c6a1c05e1 | |
| parent | 411fe24e6b7c283c3a1911450cdba6dd3aaea56e (diff) | |
nohz: Reset next_tick cache even when the timer has no regs
Handle tick interrupts whose regs are NULL, out of general paranoia. It happens
when hrtimer_interrupt() is called from non-interrupt contexts, such as hotplug
CPU down events.
Signed-off-by: Frederic Weisbecker <[email protected]>
Cc: Linus Torvalds <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: [email protected]
Signed-off-by: Ingo Molnar <[email protected]>
| -rw-r--r-- | kernel/time/tick-sched.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c index 764d2905e6a5..e3043873fcdc 100644 --- a/kernel/time/tick-sched.c +++ b/kernel/time/tick-sched.c @@ -1202,6 +1202,8 @@ static enum hrtimer_restart tick_sched_timer(struct hrtimer *timer) */ if (regs) tick_sched_handle(ts, regs); + else + ts->next_tick = 0; /* No need to reprogram if we are in idle or full dynticks mode */ if (unlikely(ts->tick_stopped)) |