Messages in this thread Patch in this message | | | Date | Thu, 24 Nov 2011 14:53:15 +1100 | From | Anton Blanchard <> | Subject | [PATCH 1/2] watchdog: Remove touch_all_softlockup_watchdogs |
| |
commit 04c9167f91e3 (add touch_all_softlockup_watchdogs()) added a way to touch the watchdog on all cpus because show_state_filter could hold the tasklist_lock for extended periods of time.
commit 510f5acc4f4f (sched: Don't use tasklist_lock for debug prints) has since removed the tasklist_lock in show_state_filter so we can use touch_softlockup_watchdog instead.
Signed-off-by: Anton Blanchard <anton@samba.org> ---
Index: linux-build/include/linux/sched.h =================================================================== --- linux-build.orig/include/linux/sched.h 2011-11-16 07:57:25.054353865 +1100 +++ linux-build/include/linux/sched.h 2011-11-16 08:04:56.270478443 +1100 @@ -310,7 +310,6 @@ extern void sched_show_task(struct task_ #ifdef CONFIG_LOCKUP_DETECTOR extern void touch_softlockup_watchdog(void); extern void touch_softlockup_watchdog_sync(void); -extern void touch_all_softlockup_watchdogs(void); extern int proc_dowatchdog_thresh(struct ctl_table *table, int write, void __user *buffer, size_t *lenp, loff_t *ppos); @@ -323,9 +322,6 @@ static inline void touch_softlockup_watc static inline void touch_softlockup_watchdog_sync(void) { } -static inline void touch_all_softlockup_watchdogs(void) -{ -} static inline void lockup_detector_init(void) { } Index: linux-build/kernel/sched.c =================================================================== --- linux-build.orig/kernel/sched.c 2011-11-16 07:57:25.066354081 +1100 +++ linux-build/kernel/sched.c 2011-11-16 08:04:56.274478516 +1100 @@ -6033,7 +6033,7 @@ void show_state_filter(unsigned long sta sched_show_task(p); } while_each_thread(g, p); - touch_all_softlockup_watchdogs(); + touch_softlockup_watchdog(); #ifdef CONFIG_SCHED_DEBUG sysrq_sched_debug_show(); Index: linux-build/kernel/watchdog.c =================================================================== --- linux-build.orig/kernel/watchdog.c 2011-11-16 07:57:25.626364139 +1100 +++ linux-build/kernel/watchdog.c 2011-11-16 08:04:56.274478516 +1100 @@ -138,19 +138,6 @@ void touch_softlockup_watchdog(void) } EXPORT_SYMBOL(touch_softlockup_watchdog); -void touch_all_softlockup_watchdogs(void) -{ - int cpu; - - /* - * this is done lockless - * do we care if a 0 races with a timestamp? - * all it means is the softlock check starts one cycle later - */ - for_each_online_cpu(cpu) - per_cpu(watchdog_touch_ts, cpu) = 0; -} - #ifdef CONFIG_HARDLOCKUP_DETECTOR void touch_nmi_watchdog(void) {
| |