clocksource: Make watchdog robust vs. interruption
commit7ef2f804a814c763cfbaacca35aaec38a4641f90
authorThomas Gleixner <tglx@linutronix.de>
Thu, 16 Jun 2011 14:22:08 +0000 (16 16:22 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Sat, 9 Jul 2011 06:15:05 +0000 (8 23:15 -0700)
tree866ac27c1018d998c64ab8bf612aa66b77224ce5
parent7a2a2812f3a0ad037261cd5cb10119ce7dc8d135
clocksource: Make watchdog robust vs. interruption

commit b5199515c25cca622495eb9c6a8a1d275e775088 upstream.

The clocksource watchdog code is interruptible and it has been
observed that this can trigger false positives which disable the TSC.

The reason is that an interrupt storm or a long running interrupt
handler between the read of the watchdog source and the read of the
TSC brings the two far enough apart that the delta is larger than the
unstable treshold. Move both reads into a short interrupt disabled
region to avoid that.

Reported-and-tested-by: Vernon Mauery <vernux@us.ibm.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
include/linux/clocksource.h
kernel/time/clocksource.c