linux/arch
Joe Korty 38e760a133 x86: expand /proc/interrupts to include missing vectors, v2
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: Joe Korty <joe.korty@ccur.com>
Signed-off-by: Andi 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: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17 20:16:53 +02:00
..
alpha Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild 2007-10-16 11:23:06 -07:00
arm Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/hpa/linux-2.6-x86setup 2007-10-17 09:00:30 -07:00
avr32 Remove dma_cache_(wback|inv|wback_inv) functions 2007-10-17 08:42:57 -07:00
blackfin Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild 2007-10-16 11:23:06 -07:00
cris remove include/asm-*/ipc.h 2007-10-17 08:42:55 -07:00
frv remove include/asm-*/ipc.h 2007-10-17 08:42:55 -07:00
h8300 remove include/asm-*/ipc.h 2007-10-17 08:42:55 -07:00
i386 x86: add cpu codenames for Kconfig.cpu 2007-10-17 20:15:59 +02:00
ia64 Merge branch 'for-linus' of git://git.kernel.dk/data/git/linux-2.6-block 2007-10-17 09:08:13 -07:00
m32r remove include/asm-*/ipc.h 2007-10-17 08:42:55 -07:00
m68k remove include/asm-*/ipc.h 2007-10-17 08:42:55 -07:00
m68knommu remove include/asm-*/ipc.h 2007-10-17 08:42:55 -07:00
mips spin_lock_unlocked cleanups 2007-10-17 08:43:01 -07:00
parisc Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild 2007-10-16 11:23:06 -07:00
powerpc Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2007-10-17 09:05:55 -07:00
ppc Merge branch 'for-2.6.24' of git://git.secretlab.ca/git/linux-2.6-mpc52xx into merge 2007-10-17 22:31:13 +10:00
s390 remove include/asm-*/ipc.h 2007-10-17 08:42:55 -07:00
sh Remove dma_cache_(wback|inv|wback_inv) functions 2007-10-17 08:42:57 -07:00
sh64 Remove dma_cache_(wback|inv|wback_inv) functions 2007-10-17 08:42:57 -07:00
sparc remove include/asm-*/ipc.h 2007-10-17 08:42:55 -07:00
sparc64 Merge branch 'for-linus' of git://git.kernel.dk/data/git/linux-2.6-block 2007-10-17 09:08:13 -07:00
um remove include/asm-*/ipc.h 2007-10-17 08:42:55 -07:00
v850 remove include/asm-*/ipc.h 2007-10-17 08:42:55 -07:00
x86 x86: expand /proc/interrupts to include missing vectors, v2 2007-10-17 20:16:53 +02:00
x86_64 x86: configure HPET_EMULATE_RTC automatically 2007-10-17 20:16:35 +02:00
xtensa Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild 2007-10-16 11:23:06 -07:00