diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2017-08-20 17:54:30 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2017-08-20 17:54:30 +0200 |
commit | e18a5ebc2d507f42ca724581a1039ba058fa12da (patch) | |
tree | 9c2378623f5b97f82e1ed31ffb66f21924f35e32 /include | |
parent | Merge branch 'akpm' (patches from Andrew) (diff) | |
parent | kernel/watchdog: Prevent false positives with turbo modes (diff) | |
download | linux-e18a5ebc2d507f42ca724581a1039ba058fa12da.tar.xz linux-e18a5ebc2d507f42ca724581a1039ba058fa12da.zip |
Merge branch 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull watchdog fix from Thomas Gleixner:
"A fix for the hardlockup watchdog to prevent false positives with
extreme Turbo-Modes which make the perf/NMI watchdog fire faster than
the hrtimer which is used to verify.
Slightly larger than the minimal fix, which just would increase the
hrtimer frequency, but comes with extra overhead of more watchdog
timer interrupts and thread wakeups for all users.
With this change we restrict the overhead to the extreme Turbo-Mode
systems"
* 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
kernel/watchdog: Prevent false positives with turbo modes
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/nmi.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/include/linux/nmi.h b/include/linux/nmi.h index 8aa01fd859fb..a36abe2da13e 100644 --- a/include/linux/nmi.h +++ b/include/linux/nmi.h @@ -168,6 +168,14 @@ extern int sysctl_hardlockup_all_cpu_backtrace; #define sysctl_softlockup_all_cpu_backtrace 0 #define sysctl_hardlockup_all_cpu_backtrace 0 #endif + +#if defined(CONFIG_HARDLOCKUP_CHECK_TIMESTAMP) && \ + defined(CONFIG_HARDLOCKUP_DETECTOR) +void watchdog_update_hrtimer_threshold(u64 period); +#else +static inline void watchdog_update_hrtimer_threshold(u64 period) { } +#endif + extern bool is_hardlockup(void); struct ctl_table; extern int proc_watchdog(struct ctl_table *, int , |