diff options
author | Paul E. McKenney <paulmck@kernel.org> | 2021-08-12 19:31:28 +0300 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2021-08-28 18:01:32 +0300 |
commit | d25a025201ed98f4b93775e0999a3f2135702106 (patch) | |
tree | 2fcc4adf70cf9f897619f188db2dc97392667139 /kernel/time/clocksource-wdtest.c | |
parent | 127c92feb74a6721f62587f1b89128808f049cf1 (diff) | |
download | linux-d25a025201ed98f4b93775e0999a3f2135702106.tar.xz |
clocksource: Make clocksource watchdog test safe for slow-HZ systems
The clocksource watchdog test sets a local JIFFIES_SHIFT macro and assumes
that HZ is >= 100. For smaller HZ values this shift value is too large and
causes undefined behaviour.
Move the HZ-based definitions of JIFFIES_SHIFT from kernel/time/jiffies.c
to kernel/time/tick-internal.h so the clocksource watchdog test can utilize
them, which makes it work correctly with all HZ values.
[ tglx: Resolved conflicts and massaged changelog ]
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/lkml/20210812000133.GA402890@paulmck-ThinkPad-P17-Gen-1/
Diffstat (limited to 'kernel/time/clocksource-wdtest.c')
-rw-r--r-- | kernel/time/clocksource-wdtest.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/kernel/time/clocksource-wdtest.c b/kernel/time/clocksource-wdtest.c index 01df12395c0e..df922f49d171 100644 --- a/kernel/time/clocksource-wdtest.c +++ b/kernel/time/clocksource-wdtest.c @@ -19,6 +19,8 @@ #include <linux/prandom.h> #include <linux/cpu.h> +#include "tick-internal.h" + MODULE_LICENSE("GPL"); MODULE_AUTHOR("Paul E. McKenney <paulmck@kernel.org>"); @@ -34,9 +36,6 @@ static u64 wdtest_jiffies_read(struct clocksource *cs) return (u64)jiffies; } -/* Assume HZ > 100. */ -#define JIFFIES_SHIFT 8 - static struct clocksource clocksource_wdtest_jiffies = { .name = "wdtest-jiffies", .rating = 1, /* lowest valid rating*/ |