1. 08 7月, 2008 4 次提交
    • M
      x86: APIC/UP: Remove redundant NMI watchdog downgrade · 19662027
      Maciej W. Rozycki 提交于
      For the UP case the NMI watchdog downgrade is done consistently in
      APIC_init_uniprocessor() now.  Remove redundant code used only when
      BIOS-disabled local APIC is activated.
      Signed-off-by: NMaciej W. Rozycki <macro@linux-mips.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      19662027
    • M
      x86: APIC/UP: Downgrade the NMI watchdog for no I/O APIC · acae7d90
      Maciej W. Rozycki 提交于
       If configured to use the I/O APIC, the NMI watchdog is deemed to fail if
      the chip will not be used in the UP configuration, because "noapic" has
      been specified or the chip is simply not there.  Downgrade to the local
      APIC watchdog to rectify.
      
      The new #ifdef is ugly, I know.  A proper solution is to provide suitable
      definitions of smp_found_config, etc. for !CONFIG_X86_IO_APIC in a header.
      Likewise the whole if () condition should be moved to a static inline
      function.  Such clean-ups are beyond the scope of this change and can be
      done once the whole issue of the timer has been sorted out.
      Signed-off-by: NMaciej W. Rozycki <macro@linux-mips.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      acae7d90
    • I
      Revert "x86, io-apic: fix nmi_watchdog=1 bootup hang" · ab5a5be0
      Ingo Molnar 提交于
      This reverts commit 2229ff84f01746d02fb6b79e156fb5cce48c908f.
      
      A better fix from Maciej will be merged.
      ab5a5be0
    • I
      x86, io-apic: fix nmi_watchdog=1 bootup hang · ff11571b
      Ingo Molnar 提交于
      nmi_watchdog=1 hangs on 64-bit:
      
      [    0.250000] Detected 12.564 MHz APIC timer.
      [    0.254178] APIC timer registered as dummy, due to nmi_watchdog=1!
      [    0.260366] Testing NMI watchdog ... <4>WARNING: CPU#0: NMI appears to be stuck (0->0)!
      [    ...     ]
      [    0.470003] calling  genl_init+0x0/0xd0
      [  hard hang ]
      
      bisected it down to:
      
       git-bisect start
       git-bisect good 1beee8dc
       git-bisect bad 11582ece0aaa2d0f94f345c08a4ab9997078a083
       git-bisect bad 5479c623bb44089844022c03d4c0eb16d5b7a15f
       git-bisect bad cfb4c7fabeb499e1c29f9d1878968e37a938e28a
       git-bisect good 246dd412
       git-bisect bad 3f8237eaff7dc1e35fa791dae095574fd974e671
       git-bisect good 90e23b13ab849e2a11f00c655eb3a2011b4623be
       git-bisect bad 833526a34eeefc117df3191a594c3c3a4f15a9ac
       git-bisect good 791b93d3dfaf16c23e978bec0cc0a3dd9d855d63
       git-bisect bad 65767c64068f2c93e56a1accfed5c78230ac12d7
       git-bisect bad 2abc5c05dd82c188e3bdf6641a274f013348d14b
       git-bisect bad 317e1f2597ffb4d4db940577bbe56dc6e881ef07
      
      | 317e1f2597ffb4d4db940577bbe56dc6e881ef07 is first bad commit
      | commit 317e1f2597ffb4d4db940577bbe56dc6e881ef07
      | Author: Maciej W. Rozycki <macro@linux-mips.org>
      | Date:   Wed May 21 22:10:22 2008 +0100
      |     x86: I/O APIC: clean up the 8259A on a NMI watchdog failure
      
      the problem is that in the dummy-lapic branch we rely on the i8259A
      but if the NMI watchdog fails we turn off IRQ 0 - which doesnt work
      too well ;-)
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      ff11571b
  2. 26 4月, 2008 1 次提交
  3. 25 4月, 2008 1 次提交
  4. 17 4月, 2008 11 次提交
  5. 30 1月, 2008 12 次提交
  6. 25 1月, 2008 1 次提交
  7. 20 12月, 2007 1 次提交
  8. 27 11月, 2007 1 次提交
  9. 20 10月, 2007 1 次提交
  10. 18 10月, 2007 1 次提交
    • J
      x86: expand /proc/interrupts to include missing vectors, v2 · 38e760a1
      Joe Korty 提交于
      Add missing IRQs and IRQ descriptions to /proc/interrupts.
      
      /proc/interrupts is most useful when it displays every IRQ vector in use by
      the system, not just those somebody thought would be interesting.
      
      This patch inserts the following vector displays to the i386 and x86_64
      platforms, as appropriate:
      
      	rescheduling interrupts
      	TLB flush interrupts
      	function call interrupts
      	thermal event interrupts
      	threshold interrupts
      	spurious interrupts
      
      A threshold interrupt occurs when ECC memory correction is occuring at too
      high a frequency.  Thresholds are used by the ECC hardware as occasional
      ECC failures are part of normal operation, but long sequences of ECC
      failures usually indicate a memory chip that is about to fail.
      
      Thermal event interrupts occur when a temperature threshold has been
      exceeded for some CPU chip.  IIRC, a thermal interrupt is also generated
      when the temperature drops back to a normal level.
      
      A spurious interrupt is an interrupt that was raised then lowered by the
      device before it could be fully processed by the APIC.  Hence the apic sees
      the interrupt but does not know what device it came from.  For this case
      the APIC hardware will assume a vector of 0xff.
      
      Rescheduling, call, and TLB flush interrupts are sent from one CPU to
      another per the needs of the OS.  Typically, their statistics would be used
      to discover if an interrupt flood of the given type has been occuring.
      
      AK: merged v2 and v4 which had some more tweaks
      AK: replace Local interrupts with Local timer interrupts
      AK: Fixed description of interrupt types.
      
      [ tglx: arch/x86 adaptation ]
      [ mingo: small cleanup ]
      Signed-off-by: NJoe Korty <joe.korty@ccur.com>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      Cc: Tim Hockin <thockin@hockin.org>
      Cc: Andi Kleen <ak@suse.de>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      38e760a1
  11. 11 10月, 2007 2 次提交
  12. 19 8月, 2007 1 次提交
  13. 12 8月, 2007 1 次提交
  14. 22 7月, 2007 2 次提交