linux/kernel/time
Thomas Gleixner 9fb6033625 clocksource: Make watchdog reset lockless
KGDB needs to trylock watchdog_lock when trying to reset the
clocksource watchdog after the system has been stopped to avoid a
potential deadlock. When the trylock fails TSC usually becomes
unstable.

We can be more clever by using an atomic counter and checking it in
the clocksource_watchdog callback. We restart the watchdog whenever
the counter is > 0 and only decrement the counter when we ran through
a full update cycle.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: John Stultz <johnstul@us.ibm.com>
Acked-by: Jason Wessel <jason.wessel@windriver.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/alpine.LFD.2.02.1109121326280.2723@ionos
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2011-09-13 09:58:29 +02:00
..
alarmtimer.c alarmtimers: Rework RTC device selection using class interface 2011-08-10 14:55:30 -07:00
clockevents.c clockevents: Add direct ktime programming function 2011-09-08 11:10:56 +02:00
clocksource.c clocksource: Make watchdog reset lockless 2011-09-13 09:58:29 +02:00
jiffies.c Fix common misspellings 2011-03-31 11:26:23 -03:00
Kconfig clockevents: Make minimum delay adjustments configurable 2011-09-08 11:10:56 +02:00
Makefile timers: Introduce in-kernel alarm-timer interface 2011-04-26 14:01:44 -07:00
ntp.c ntp: fix non privileged system time shifting 2011-04-04 08:31:23 -07:00
posix-clock.c posix clocks: Replace mutex with reader/writer semaphore 2011-04-18 10:39:38 +02:00
tick-broadcast.c clockevents: Make minimum delay adjustments configurable 2011-09-08 11:10:56 +02:00
tick-common.c clockevents: Make minimum delay adjustments configurable 2011-09-08 11:10:56 +02:00
tick-internal.h clockevents: Make minimum delay adjustments configurable 2011-09-08 11:10:56 +02:00
tick-oneshot.c clockevents: Make minimum delay adjustments configurable 2011-09-08 11:10:56 +02:00
tick-sched.c nohz: Remove "Switched to NOHz mode" debugging messages 2011-09-08 11:10:55 +02:00
timecompare.c time: Use ARRAY_SIZE macro in timecompare.c 2010-10-21 17:30:06 +02:00
timeconv.c time: add function to convert between calendar time and broken-down time for universal use 2009-09-24 07:20:56 -07:00
timekeeping.c time: Fix stupid KERN_WARN compile issue 2011-07-20 15:42:55 -07:00
timer_list.c timer debug: Hide kernel addresses via %pK in /proc/timer_list 2011-02-12 14:11:56 +01:00
timer_stats.c Fix common misspellings 2011-03-31 11:26:23 -03:00