History

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.

Jason Wessel committed 16 years ago

Commit 16cdc621 parent fad99fa1 file · +9 −6Browse files

Showing the changes to kernel/debug/debug_core.c (1 of 1 file). Show all

Unified · Split

kernel/debug/debug_core.c+9−6
@@ -470,6 +470,12 @@ static void dbg_cpu_switch(int cpu, int next_cpu) · 469 unmodified lines
470 kgdb_info[next_cpu].exception_state |= DCPU_NEXT_MASTER;470 kgdb_info[next_cpu].exception_state |= DCPU_NEXT_MASTER;
471}471}
472 472
473static void dbg_touch_watchdogs(void)
474{
475 touch_softlockup_watchdog_sync();
476 clocksource_touch_watchdog();
477}
478
473static int kgdb_cpu_enter(struct kgdb_state *ks, struct pt_regs *regs)479static int kgdb_cpu_enter(struct kgdb_state *ks, struct pt_regs *regs)
474{480{
475 unsigned long flags;481 unsigned long flags;
@@ -523,8 +529,7 @@ return_normal: · 47 unmodified lines
523 if (trace_on)529 if (trace_on)
524 tracing_on();530 tracing_on();
525 atomic_dec(&cpu_in_kgdb[cpu]);531 atomic_dec(&cpu_in_kgdb[cpu]);
526 touch_softlockup_watchdog_sync();532 dbg_touch_watchdogs();
527 clocksource_touch_watchdog();
528 local_irq_restore(flags);533 local_irq_restore(flags);
529 return 0;534 return 0;
530 }535 }
@@ -541,8 +546,7 @@ return_normal: · 10 unmodified lines
541 (kgdb_info[cpu].task &&546 (kgdb_info[cpu].task &&
542 kgdb_info[cpu].task->pid != kgdb_sstep_pid) && --sstep_tries) {547 kgdb_info[cpu].task->pid != kgdb_sstep_pid) && --sstep_tries) {
543 atomic_set(&kgdb_active, -1);548 atomic_set(&kgdb_active, -1);
544 touch_softlockup_watchdog_sync();549 dbg_touch_watchdogs();
545 clocksource_touch_watchdog();
546 local_irq_restore(flags);550 local_irq_restore(flags);
547 551
548 goto acquirelock;552 goto acquirelock;
@@ -659,8 +663,7 @@ kgdb_restore: · 110 unmodified lines
659 tracing_on();663 tracing_on();
660 /* Free kgdb_active */664 /* Free kgdb_active */
661 atomic_set(&kgdb_active, -1);665 atomic_set(&kgdb_active, -1);
662 touch_softlockup_watchdog_sync();666 dbg_touch_watchdogs();
663 clocksource_touch_watchdog();
664 local_irq_restore(flags);667 local_irq_restore(flags);
665 668
666 return kgdb_info[cpu].ret_state;669 return kgdb_info[cpu].ret_state;