Commit afed26d151ba90b08361d4af0223daa362136ebd

Authored by Linus Torvalds

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

Showing 2 changed files Side-by-side Diff

arch/x86/kernel/kgdb.c
... ... @@ -455,12 +455,7 @@
455 455 return NOTIFY_DONE;
456 456  
457 457 case DIE_NMI_IPI:
458   - if (atomic_read(&kgdb_active) != -1) {
459   - /* KGDB CPU roundup */
460   - kgdb_nmicallback(raw_smp_processor_id(), regs);
461   - was_in_debug_nmi[raw_smp_processor_id()] = 1;
462   - touch_nmi_watchdog();
463   - }
  458 + /* Just ignore, we will handle the roundup on DIE_NMI. */
464 459 return NOTIFY_DONE;
465 460  
466 461 case DIE_NMIUNKNOWN:
... ... @@ -590,6 +590,7 @@
590 590  
591 591 /* Signal the primary CPU that we are done: */
592 592 atomic_set(&cpu_in_kgdb[cpu], 0);
  593 + touch_softlockup_watchdog();
593 594 clocksource_touch_watchdog();
594 595 local_irq_restore(flags);
595 596 }
... ... @@ -1432,6 +1433,7 @@
1432 1433 atomic_read(&kgdb_cpu_doing_single_step) != cpu) {
1433 1434  
1434 1435 atomic_set(&kgdb_active, -1);
  1436 + touch_softlockup_watchdog();
1435 1437 clocksource_touch_watchdog();
1436 1438 local_irq_restore(flags);
1437 1439  
... ... @@ -1524,6 +1526,7 @@
1524 1526 kgdb_restore:
1525 1527 /* Free kgdb_active */
1526 1528 atomic_set(&kgdb_active, -1);
  1529 + touch_softlockup_watchdog();
1527 1530 clocksource_touch_watchdog();
1528 1531 local_irq_restore(flags);
1529 1532