clocksource.c (063565aca3734de4e73639a0e460a58d9418b3cd) clocksource.c (fc153c1c58cb8c3bb3b443b4d7dc3211ff5f65fc)
1// SPDX-License-Identifier: GPL-2.0+
2/*
3 * This file contains the functions which manage clocksource drivers.
4 *
5 * Copyright (C) 2004, 2005 IBM, John Stultz (johnstul@us.ibm.com)
6 */
7
8#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt

--- 93 unchanged lines hidden (view full) ---

102#define WATCHDOG_THRESHOLD (NSEC_PER_SEC >> 5)
103
104/*
105 * Maximum permissible delay between two readouts of the watchdog
106 * clocksource surrounding a read of the clocksource being validated.
107 * This delay could be due to SMIs, NMIs, or to VCPU preemptions. Used as
108 * a lower bound for cs->uncertainty_margin values when registering clocks.
109 */
1// SPDX-License-Identifier: GPL-2.0+
2/*
3 * This file contains the functions which manage clocksource drivers.
4 *
5 * Copyright (C) 2004, 2005 IBM, John Stultz (johnstul@us.ibm.com)
6 */
7
8#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt

--- 93 unchanged lines hidden (view full) ---

102#define WATCHDOG_THRESHOLD (NSEC_PER_SEC >> 5)
103
104/*
105 * Maximum permissible delay between two readouts of the watchdog
106 * clocksource surrounding a read of the clocksource being validated.
107 * This delay could be due to SMIs, NMIs, or to VCPU preemptions. Used as
108 * a lower bound for cs->uncertainty_margin values when registering clocks.
109 */
110#define WATCHDOG_MAX_SKEW (100 * NSEC_PER_USEC)
110#ifdef CONFIG_CLOCKSOURCE_WATCHDOG_MAX_SKEW_US
111#define MAX_SKEW_USEC CONFIG_CLOCKSOURCE_WATCHDOG_MAX_SKEW_US
112#else
113#define MAX_SKEW_USEC 100
114#endif
111
115
116#define WATCHDOG_MAX_SKEW (MAX_SKEW_USEC * NSEC_PER_USEC)
117
112#ifdef CONFIG_CLOCKSOURCE_WATCHDOG
113static void clocksource_watchdog_work(struct work_struct *work);
114static void clocksource_select(void);
115
116static LIST_HEAD(watchdog_list);
117static struct clocksource *watchdog;
118static struct timer_list watchdog_timer;
119static DECLARE_WORK(watchdog_work, clocksource_watchdog_work);

--- 1352 unchanged lines hidden ---
118#ifdef CONFIG_CLOCKSOURCE_WATCHDOG
119static void clocksource_watchdog_work(struct work_struct *work);
120static void clocksource_select(void);
121
122static LIST_HEAD(watchdog_list);
123static struct clocksource *watchdog;
124static struct timer_list watchdog_timer;
125static DECLARE_WORK(watchdog_work, clocksource_watchdog_work);

--- 1352 unchanged lines hidden ---