From: Sebastian Andrzej Siewior Date: Fri, 26 Jul 2019 18:30:54 +0000 (+0200) Subject: watchdog: Mark watchdog_hrtimer to expire in hard interrupt context X-Git-Tag: v5.4-rc1~159^2~72 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d2ab4cf4943576fb060b8a69341d9e0c2a952ba7;p=platform%2Fkernel%2Flinux-rpi.git watchdog: Mark watchdog_hrtimer to expire in hard interrupt context The watchdog hrtimer must expire in hard interrupt context even on PREEMPT_RT=y kernels as otherwise the hard/softlockup detection logic would not work. No functional change. [ tglx: Split out from larger combo patch. Added changelog ] Signed-off-by: Sebastian Andrzej Siewior Signed-off-by: Thomas Gleixner Acked-by: Peter Zijlstra (Intel) Link: https://lkml.kernel.org/r/20190726185753.262895510@linutronix.de --- diff --git a/kernel/watchdog.c b/kernel/watchdog.c index 7f9e7b9..f41334e 100644 --- a/kernel/watchdog.c +++ b/kernel/watchdog.c @@ -490,10 +490,10 @@ static void watchdog_enable(unsigned int cpu) * Start the timer first to prevent the NMI watchdog triggering * before the timer has a chance to fire. */ - hrtimer_init(hrtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); + hrtimer_init(hrtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_HARD); hrtimer->function = watchdog_timer_fn; hrtimer_start(hrtimer, ns_to_ktime(sample_period), - HRTIMER_MODE_REL_PINNED); + HRTIMER_MODE_REL_PINNED_HARD); /* Initialize timestamp */ __touch_watchdog();