Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb
* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb: kgdb: call touch_softlockup_watchdog on resume kgdb, x86: Avoid invoking kgdb_nmicallback twice per NMI
This commit is contained in:
commit
afed26d151
|
@ -455,12 +455,7 @@ static int __kgdb_notify(struct die_args *args, unsigned long cmd)
|
||||||
return NOTIFY_DONE;
|
return NOTIFY_DONE;
|
||||||
|
|
||||||
case DIE_NMI_IPI:
|
case DIE_NMI_IPI:
|
||||||
if (atomic_read(&kgdb_active) != -1) {
|
/* Just ignore, we will handle the roundup on DIE_NMI. */
|
||||||
/* KGDB CPU roundup */
|
|
||||||
kgdb_nmicallback(raw_smp_processor_id(), regs);
|
|
||||||
was_in_debug_nmi[raw_smp_processor_id()] = 1;
|
|
||||||
touch_nmi_watchdog();
|
|
||||||
}
|
|
||||||
return NOTIFY_DONE;
|
return NOTIFY_DONE;
|
||||||
|
|
||||||
case DIE_NMIUNKNOWN:
|
case DIE_NMIUNKNOWN:
|
||||||
|
|
|
@ -590,6 +590,7 @@ static void kgdb_wait(struct pt_regs *regs)
|
||||||
|
|
||||||
/* Signal the primary CPU that we are done: */
|
/* Signal the primary CPU that we are done: */
|
||||||
atomic_set(&cpu_in_kgdb[cpu], 0);
|
atomic_set(&cpu_in_kgdb[cpu], 0);
|
||||||
|
touch_softlockup_watchdog();
|
||||||
clocksource_touch_watchdog();
|
clocksource_touch_watchdog();
|
||||||
local_irq_restore(flags);
|
local_irq_restore(flags);
|
||||||
}
|
}
|
||||||
|
@ -1432,6 +1433,7 @@ acquirelock:
|
||||||
atomic_read(&kgdb_cpu_doing_single_step) != cpu) {
|
atomic_read(&kgdb_cpu_doing_single_step) != cpu) {
|
||||||
|
|
||||||
atomic_set(&kgdb_active, -1);
|
atomic_set(&kgdb_active, -1);
|
||||||
|
touch_softlockup_watchdog();
|
||||||
clocksource_touch_watchdog();
|
clocksource_touch_watchdog();
|
||||||
local_irq_restore(flags);
|
local_irq_restore(flags);
|
||||||
|
|
||||||
|
@ -1524,6 +1526,7 @@ acquirelock:
|
||||||
kgdb_restore:
|
kgdb_restore:
|
||||||
/* Free kgdb_active */
|
/* Free kgdb_active */
|
||||||
atomic_set(&kgdb_active, -1);
|
atomic_set(&kgdb_active, -1);
|
||||||
|
touch_softlockup_watchdog();
|
||||||
clocksource_touch_watchdog();
|
clocksource_touch_watchdog();
|
||||||
local_irq_restore(flags);
|
local_irq_restore(flags);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue