summaryrefslogtreecommitdiff
path: root/kernel/time/clocksource-wdtest.c
diff options
context:
space:
mode:
authorPaul E. McKenney <paulmck@kernel.org>2021-08-12 19:31:28 +0300
committerThomas Gleixner <tglx@linutronix.de>2021-08-28 18:01:32 +0300
commitd25a025201ed98f4b93775e0999a3f2135702106 (patch)
tree2fcc4adf70cf9f897619f188db2dc97392667139 /kernel/time/clocksource-wdtest.c
parent127c92feb74a6721f62587f1b89128808f049cf1 (diff)
downloadlinux-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.c5
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*/