clocksource: Make watchdog robust vs. interruption
authorThomas Gleixner <tglx@linutronix.de>
Thu, 16 Jun 2011 14:22:08 +0000 (16:22 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Thu, 16 Jun 2011 17:30:53 +0000 (19:30 +0200)
commitb5199515c25cca622495eb9c6a8a1d275e775088
tree250fc4f3d02c58eddf770e9d040edeafd0012e76
parent1123d93963cbd2546449d4d9f0c568e323cb0ac6
clocksource: Make watchdog robust vs. interruption

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>
Cc: stable@kernel.org
include/linux/clocksource.h
kernel/time/clocksource.c