diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2007-03-25 14:42:51 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-03-25 23:57:34 +0200 |
commit | 948ac6d71cf868b431adb3139d8dfbd9c4e4a6ca (patch) | |
tree | 485171e5970cfc75614730aaa4201db430c3030a /kernel | |
parent | [PATCH] dynticks: fix hrtimer rounding error in next_timer_interrupt (diff) | |
download | linux-948ac6d71cf868b431adb3139d8dfbd9c4e4a6ca.tar.xz linux-948ac6d71cf868b431adb3139d8dfbd9c4e4a6ca.zip |
[PATCH] clocksource: Fix thinko in watchdog selection
The watchdog implementation excludes low res / non continuous
clocksources from being selected as a watchdog reference
unintentionally.
Allow using jiffies/PIT as a watchdog reference as long as no better
clocksource is available. This is necessary to detect TSC breakage on
systems, which have no pmtimer/hpet.
The main goal of the initial patch (preventing to switch to highres/nohz
when no reliable fallback clocksource is available) is still guaranteed
by the checks in clocksource_watchdog().
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/time/clocksource.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/kernel/time/clocksource.c b/kernel/time/clocksource.c index 5b0e46b56fd0..fe5c7db24247 100644 --- a/kernel/time/clocksource.c +++ b/kernel/time/clocksource.c @@ -151,7 +151,8 @@ static void clocksource_check_watchdog(struct clocksource *cs) watchdog_timer.expires = jiffies + WATCHDOG_INTERVAL; add_timer(&watchdog_timer); } - } else if (cs->flags & CLOCK_SOURCE_IS_CONTINUOUS) { + } else { + if (cs->flags & CLOCK_SOURCE_IS_CONTINUOUS) cs->flags |= CLOCK_SOURCE_VALID_FOR_HRES; if (!watchdog || cs->rating > watchdog->rating) { |