diff options
author | Feng Tang <feng.tang@intel.com> | 2021-05-27 12:01:24 -0700 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2021-06-22 16:53:17 +0200 |
commit | 22a22383371667962b46bd90d534cc57669537ac (patch) | |
tree | 31cd0229155167ca5c8d69aa678122ae05cb5d06 /kernel/time | |
parent | 1253b9b87e42ab6a3d5c2cb27af2bdd67d7e50ff (diff) | |
download | linux-stable-22a22383371667962b46bd90d534cc57669537ac.tar.gz linux-stable-22a22383371667962b46bd90d534cc57669537ac.tar.bz2 linux-stable-22a22383371667962b46bd90d534cc57669537ac.zip |
clocksource: Print deviation in nanoseconds when a clocksource becomes unstable
Currently when an unstable clocksource is detected, the raw counters of
that clocksource and watchdog will be printed, which can only be understood
after some math calculation.
So print the delta in nanoseconds as well to make it easier for humans to
check the results.
[ paulmck: Fix typo. ]
Signed-off-by: Feng Tang <feng.tang@intel.com>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20210527190124.440372-6-paulmck@kernel.org
Diffstat (limited to 'kernel/time')
-rw-r--r-- | kernel/time/clocksource.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/kernel/time/clocksource.c b/kernel/time/clocksource.c index 74d6a234fd14..b89c76e1c02c 100644 --- a/kernel/time/clocksource.c +++ b/kernel/time/clocksource.c @@ -407,10 +407,10 @@ static void clocksource_watchdog(struct timer_list *unused) if (abs(cs_nsec - wd_nsec) > md) { pr_warn("timekeeping watchdog on CPU%d: Marking clocksource '%s' as unstable because the skew is too large:\n", smp_processor_id(), cs->name); - pr_warn(" '%s' wd_now: %llx wd_last: %llx mask: %llx\n", - watchdog->name, wdnow, wdlast, watchdog->mask); - pr_warn(" '%s' cs_now: %llx cs_last: %llx mask: %llx\n", - cs->name, csnow, cslast, cs->mask); + pr_warn(" '%s' wd_nsec: %lld wd_now: %llx wd_last: %llx mask: %llx\n", + watchdog->name, wd_nsec, wdnow, wdlast, watchdog->mask); + pr_warn(" '%s' cs_nsec: %lld cs_now: %llx cs_last: %llx mask: %llx\n", + cs->name, cs_nsec, csnow, cslast, cs->mask); if (curr_clocksource == cs) pr_warn(" '%s' is current clocksource.\n", cs->name); else if (curr_clocksource) |