| Date | Tue, 30 Jul 2019 15:13:29 -0700 | From | tip-bot for Sebastian Andrzej Siewior <> | Subject | [tip:timers/core] watchdog: Mark watchdog_hrtimer to expire in hard interrupt context |
| |
Commit-ID: 2c6db53c4b4a52012e644f1f50bcc958c87f046a Gitweb: https://git.kernel.org/tip/2c6db53c4b4a52012e644f1f50bcc958c87f046a Author: Sebastian Andrzej Siewior <bigeasy@linutronix.de> AuthorDate: Fri, 26 Jul 2019 20:30:54 +0200 Committer: Thomas Gleixner <tglx@linutronix.de> CommitDate: Tue, 30 Jul 2019 23:57:55 +0200
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
--- kernel/watchdog.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/kernel/watchdog.c b/kernel/watchdog.c index 7f9e7b9306fe..f41334ef0971 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();
|