Commit fc153c1c authored by Waiman Long's avatar Waiman Long Committed by Paul E. McKenney
Browse files

clocksource: Add a Kconfig option for WATCHDOG_MAX_SKEW



A watchdog maximum skew of 100us may still be too small for
some systems or archs. It may also be too small when some kernel
debug config options are enabled.  So add a new Kconfig option
CLOCKSOURCE_WATCHDOG_MAX_SKEW_US to allow kernel builders to have more
control on the threshold for marking clocksource as unstable.

Signed-off-by: default avatarWaiman Long <longman@redhat.com>
Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
parent da123016
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);