Messages in this thread Patch in this message | | | From | Frederic Weisbecker <> | Subject | [PATCH 1/2] nohz: Add hrtimer sanity check | Date | Fri, 19 May 2017 15:51:49 +0200 |
| |
Make sure that the clockevent device is never programmed to a deadline later than the tick.
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com> Cc: Tim Wright <tim@binbash.co.uk> Cc: Pavel Machek <pavel@ucw.cz> Cc: James Hartsock <hartsjc@redhat.com> Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Rik van Riel <riel@redhat.com> Cc: Peter Zijlstra <peterz@infradead.org> Signed-off-by: Ingo Molnar <mingo@kernel.org> --- kernel/time/tick-sched.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c index 64c97fc..d212bb6 100644 --- a/kernel/time/tick-sched.c +++ b/kernel/time/tick-sched.c @@ -771,8 +771,13 @@ static ktime_t tick_nohz_stop_sched_tick(struct tick_sched *ts, tick = expires; /* Skip reprogram of event if its not changed */ - if (ts->tick_stopped && (expires == dev->next_event)) - goto out; + if (ts->tick_stopped) { + if (hrtimer_active(&ts->sched_timer)) + WARN_ON_ONCE(hrtimer_get_expires(&ts->sched_timer) < dev->next_event); + + if (expires == dev->next_event) + goto out; + } /* * nohz_stop_sched_tick can be called several times before -- 2.7.4
| |