Commit 58dedf0a authored by Thomas Gleixner's avatar Thomas Gleixner
Browse files

Merge branch 'clocksource.2022.02.01b' of...

Merge branch 'clocksource.2022.02.01b' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu into timers/core

Pull clocksource watchdog update from Paul McKenney:

 - Add a config option for the maximum skew of the watchdog.

Link: https://lore.kernel.org/r/20220224000718.GA3747431@paulmck-ThinkPad-P17-Gen-1
parents 7e57714c fc153c1c
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -181,5 +181,14 @@ config HIGH_RES_TIMERS
	  hardware is not capable then this option only increases
	  the size of the kernel image.

config CLOCKSOURCE_WATCHDOG_MAX_SKEW_US
	int "Clocksource watchdog maximum allowable skew (in μs)"
	depends on CLOCKSOURCE_WATCHDOG
	range 50 1000
	default 100
	help
	  Specify the maximum amount of allowable watchdog skew in
	  microseconds before reporting the clocksource to be unstable.

endmenu
endif
+7 −1
Original line number Diff line number Diff line
@@ -107,7 +107,13 @@ static u64 suspend_start;
 * This delay could be due to SMIs, NMIs, or to VCPU preemptions.  Used as
 * a lower bound for cs->uncertainty_margin values when registering clocks.
 */
#define WATCHDOG_MAX_SKEW (100 * NSEC_PER_USEC)
#ifdef CONFIG_CLOCKSOURCE_WATCHDOG_MAX_SKEW_US
#define MAX_SKEW_USEC	CONFIG_CLOCKSOURCE_WATCHDOG_MAX_SKEW_US
#else
#define MAX_SKEW_USEC	100
#endif

#define WATCHDOG_MAX_SKEW (MAX_SKEW_USEC * NSEC_PER_USEC)

#ifdef CONFIG_CLOCKSOURCE_WATCHDOG
static void clocksource_watchdog_work(struct work_struct *work);