diff options
author | Ingo Molnar <mingo@elte.hu> | 2006-03-24 06:18:41 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-03-24 10:33:30 -0500 |
commit | 6687a97d4041f996f725902d2990e5de6ef5cbe5 (patch) | |
tree | 6ab982091cde7179d94cf592f9c669fd22d93a23 /kernel/timer.c | |
parent | 6a4d11c2abc57ed7ca42041e5f68ae4f7f640a81 (diff) |
[PATCH] timer-irq-driven soft-watchdog, cleanups
Make the softlockup detector purely timer-interrupt driven, removing
softirq-context (timer) dependencies. This means that if the softlockup
watchdog triggers, it has truly observed a longer than 10 seconds
scheduling delay of a SCHED_FIFO prio 99 task.
(the patch also turns off the softlockup detector during the initial bootup
phase and does small style fixes)
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'kernel/timer.c')
-rw-r--r-- | kernel/timer.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/timer.c b/kernel/timer.c index 4427e725ccdd..17d956cebcb9 100644 --- a/kernel/timer.c +++ b/kernel/timer.c | |||
@@ -915,6 +915,7 @@ static void run_timer_softirq(struct softirq_action *h) | |||
915 | void run_local_timers(void) | 915 | void run_local_timers(void) |
916 | { | 916 | { |
917 | raise_softirq(TIMER_SOFTIRQ); | 917 | raise_softirq(TIMER_SOFTIRQ); |
918 | softlockup_tick(); | ||
918 | } | 919 | } |
919 | 920 | ||
920 | /* | 921 | /* |
@@ -945,7 +946,6 @@ void do_timer(struct pt_regs *regs) | |||
945 | /* prevent loading jiffies before storing new jiffies_64 value. */ | 946 | /* prevent loading jiffies before storing new jiffies_64 value. */ |
946 | barrier(); | 947 | barrier(); |
947 | update_times(); | 948 | update_times(); |
948 | softlockup_tick(regs); | ||
949 | } | 949 | } |
950 | 950 | ||
951 | #ifdef __ARCH_WANT_SYS_ALARM | 951 | #ifdef __ARCH_WANT_SYS_ALARM |