]> git.baikalelectronics.ru Git - kernel.git/commit
clocksource: Check per-CPU clock synchronization when marked unstable
authorPaul E. McKenney <paulmck@kernel.org>
Thu, 27 May 2021 19:01:20 +0000 (12:01 -0700)
committerThomas Gleixner <tglx@linutronix.de>
Tue, 22 Jun 2021 14:53:16 +0000 (16:53 +0200)
commit5c515a69188bc890479ace35b48a6d47af9bcf87
tree8abaac4ea4ec95b5ecd4ea3768b3dd722a926218
parentd727c36689b376950e723b3cd36395783b8ef1cd
clocksource: Check per-CPU clock synchronization when marked unstable

Some sorts of per-CPU clock sources have a history of going out of
synchronization with each other.  However, this problem has purportedy been
solved in the past ten years.  Except that it is all too possible that the
problem has instead simply been made less likely, which might mean that
some of the occasional "Marking clocksource 'tsc' as unstable" messages
might be due to desynchronization.  How would anyone know?

Therefore apply CPU-to-CPU synchronization checking to newly unstable
clocksource that are marked with the new CLOCK_SOURCE_VERIFY_PERCPU flag.
Lists of desynchronized CPUs are printed, with the caveat that if it
is the reporting CPU that is itself desynchronized, it will appear that
all the other clocks are wrong.  Just like in real life.

Reported-by: Chris Mason <clm@fb.com>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Feng Tang <feng.tang@intel.com>
Link: https://lore.kernel.org/r/20210527190124.440372-2-paulmck@kernel.org
arch/x86/kernel/tsc.c
include/linux/clocksource.h
kernel/time/clocksource.c