From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755581AbdESNwY (ORCPT ); Fri, 19 May 2017 09:52:24 -0400 Received: from mail-wm0-f66.google.com ([74.125.82.66]:33114 "EHLO mail-wm0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751481AbdESNv6 (ORCPT ); Fri, 19 May 2017 09:51:58 -0400 From: Frederic Weisbecker To: Ingo Molnar Cc: LKML , Frederic Weisbecker , Peter Zijlstra , Rik van Riel , James Hartsock , Thomas Gleixner , stable@vger.kernel.org, Tim Wright , Pavel Machek Subject: [PATCH 1/2] nohz: Add hrtimer sanity check Date: Fri, 19 May 2017 15:51:49 +0200 Message-Id: <1495201910-12466-2-git-send-email-fweisbec@gmail.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1495201910-12466-1-git-send-email-fweisbec@gmail.com> References: <1495201910-12466-1-git-send-email-fweisbec@gmail.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Make sure that the clockevent device is never programmed to a deadline later than the tick. Signed-off-by: Frederic Weisbecker Cc: Tim Wright Cc: Pavel Machek Cc: James Hartsock Cc: Frederic Weisbecker Cc: Thomas Gleixner Cc: Rik van Riel Cc: Peter Zijlstra Signed-off-by: Ingo Molnar --- 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