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 <bigeasy@linutronix.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org> Link: https://lkml.kernel.org/r/20190726185753.262895510@linutronix.de
This commit is contained in:
parent
30f9028b6c
commit
d2ab4cf494
@ -490,10 +490,10 @@ static void watchdog_enable(unsigned int cpu)
|
|||||||
* Start the timer first to prevent the NMI watchdog triggering
|
* Start the timer first to prevent the NMI watchdog triggering
|
||||||
* before the timer has a chance to fire.
|
* 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->function = watchdog_timer_fn;
|
||||||
hrtimer_start(hrtimer, ns_to_ktime(sample_period),
|
hrtimer_start(hrtimer, ns_to_ktime(sample_period),
|
||||||
HRTIMER_MODE_REL_PINNED);
|
HRTIMER_MODE_REL_PINNED_HARD);
|
||||||
|
|
||||||
/* Initialize timestamp */
|
/* Initialize timestamp */
|
||||||
__touch_watchdog();
|
__touch_watchdog();
|
||||||
|
Loading…
Reference in New Issue
Block a user