path: root/include/linux
diff options
authorJeremy Fitzhardinge <jeremy@goop.org>2007-05-08 00:28:05 -0700
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-05-08 11:15:06 -0700
commit04c9167f91e309c9c4ea982992aa08e83b2eb42e (patch)
treeb15e7bed8eb2e22e96971bbe3156a00683c70909 /include/linux
parent966812dc98e6a7fcdf759cbfa0efab77500a8868 (diff)
add touch_all_softlockup_watchdogs()
Add touch_all_softlockup_watchdogs() to allow the softlockup watchdog timers on all cpus to be updated. This is used to prevent sysrq-t from generating a spurious watchdog message when generating lots of output. Softlockup watchdogs use sched_clock() as its timebase, which is inherently per-cpu (at least, when it is measuring unstolen time). Because of this, it isn't possible for one CPU to directly update the other CPU's timers, but it is possible to tell the other CPUs to do update themselves appropriately. Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com> Acked-by: Chris Lalancette <clalance@redhat.com> Signed-off-by: Prarit Bhargava <prarit@redhat.com> Cc: Rick Lindsley <ricklind@us.ibm.com> Cc: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/linux')
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h
index d464bd0d657..6312521df2c 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -226,6 +226,7 @@ extern void scheduler_tick(void);
extern void softlockup_tick(void);
extern void spawn_softlockup_task(void);
extern void touch_softlockup_watchdog(void);
+extern void touch_all_softlockup_watchdogs(void);
static inline void softlockup_tick(void)
@@ -236,6 +237,9 @@ static inline void spawn_softlockup_task(void)
static inline void touch_softlockup_watchdog(void)
+static inline void touch_all_softlockup_watchdogs(void)