summaryrefslogtreecommitdiffstats
path: root/kernel/debug
diff options
context:
space:
mode:
authorJason Wessel <jason.wessel@windriver.com>2010-08-06 18:47:14 +0200
committerJason Wessel <jason.wessel@windriver.com>2010-10-22 22:34:10 +0200
commit16cdc628c3aed47d02205135b7e2f01e0064f566 (patch)
tree8f8709ee2b9e2c5f38e1261dcc773887d092f73d /kernel/debug
parentx86,kgdb: fix debugger hw breakpoint test regression in 2.6.35 (diff)
downloadlinux-16cdc628c3aed47d02205135b7e2f01e0064f566.tar.xz
linux-16cdc628c3aed47d02205135b7e2f01e0064f566.zip
debug_core: move all watch dog syncs to a single function
Move the various clock and watch dog syncs to a single function in advance of adding another sync for the rcu stall detector. Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Diffstat (limited to 'kernel/debug')
-rw-r--r--kernel/debug/debug_core.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/kernel/debug/debug_core.c b/kernel/debug/debug_core.c
index de407c78178d..c812857d0b80 100644
--- a/kernel/debug/debug_core.c
+++ b/kernel/debug/debug_core.c
@@ -470,6 +470,12 @@ static void dbg_cpu_switch(int cpu, int next_cpu)
kgdb_info[next_cpu].exception_state |= DCPU_NEXT_MASTER;
}
+static void dbg_touch_watchdogs(void)
+{
+ touch_softlockup_watchdog_sync();
+ clocksource_touch_watchdog();
+}
+
static int kgdb_cpu_enter(struct kgdb_state *ks, struct pt_regs *regs)
{
unsigned long flags;
@@ -523,8 +529,7 @@ return_normal:
if (trace_on)
tracing_on();
atomic_dec(&cpu_in_kgdb[cpu]);
- touch_softlockup_watchdog_sync();
- clocksource_touch_watchdog();
+ dbg_touch_watchdogs();
local_irq_restore(flags);
return 0;
}
@@ -541,8 +546,7 @@ return_normal:
(kgdb_info[cpu].task &&
kgdb_info[cpu].task->pid != kgdb_sstep_pid) && --sstep_tries) {
atomic_set(&kgdb_active, -1);
- touch_softlockup_watchdog_sync();
- clocksource_touch_watchdog();
+ dbg_touch_watchdogs();
local_irq_restore(flags);
goto acquirelock;
@@ -659,8 +663,7 @@ kgdb_restore:
tracing_on();
/* Free kgdb_active */
atomic_set(&kgdb_active, -1);
- touch_softlockup_watchdog_sync();
- clocksource_touch_watchdog();
+ dbg_touch_watchdogs();
local_irq_restore(flags);
return kgdb_info[cpu].ret_state;