Re: [PATCH v14 clocksource 6/6] clocksource: Print deviation in nanoseconds for unstable case

From: Feng Tang
Date: Tue May 11 2021 - 22:21:42 EST


On Tue, May 11, 2021 at 04:34:55PM -0700, Paul E. McKenney wrote:
> From: Feng Tang <feng.tang@xxxxxxxxx>
>
> 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 existing delta in
> nanoseconds to make it easier for humans to check the results.
>
> Signed-off-by: Feng Tang <feng.tang@xxxxxxxxx>
> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxx>
> ---
> kernel/time/clocksource.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/kernel/time/clocksource.c b/kernel/time/clocksource.c
> index bbe1bcf44ffa..9c45b98e60e2 100644
> --- a/kernel/time/clocksource.c
> +++ b/kernel/time/clocksource.c
> @@ -406,10 +406,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_nesc: %lld wd_now: %llx wd_last: %llx mask: %llx\n",

There is a typo in the message, 'wd_nesc' should be 'wd_nsec' ,
sorry for that.

Thanks,
Feng


> + 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)
> --
> 2.31.1.189.g2e36527f23