]> git.karo-electronics.de Git - karo-tx-linux.git/commit
clocksource: Make watchdog robust vs. interruption
authorThomas Gleixner <tglx@linutronix.de>
Thu, 16 Jun 2011 14:22:08 +0000 (16:22 +0200)
committerPaul Gortmaker <paul.gortmaker@windriver.com>
Thu, 17 May 2012 15:20:56 +0000 (11:20 -0400)
commit08c902fccd1753926095c863b01fb88bbec69f30
tree611b2bab9304220a65c03f3a932a2773354d3f3b
parent5cd58d69c1e8df75d70be60e8b77fdb2090102fb
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: Paul Gortmaker <paul.gortmaker@windriver.com>
include/linux/clocksource.h
kernel/time/clocksource.c