diff options
author | Anton Blanchard <anton@samba.org> | 2010-01-31 20:34:36 +0000 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2010-02-17 14:02:49 +1100 |
commit | 17081102a6e0fe32cf47cdbdf8f2e9ab55273b08 (patch) | |
tree | 6bbe3f22d4414598cdfdb69510f0679b90c68175 /arch/powerpc/include | |
parent | 89713ed10815401a1bfe12e3a076b64048381b56 (diff) | |
download | kernel_samsung_crespo-17081102a6e0fe32cf47cdbdf8f2e9ab55273b08.zip kernel_samsung_crespo-17081102a6e0fe32cf47cdbdf8f2e9ab55273b08.tar.gz kernel_samsung_crespo-17081102a6e0fe32cf47cdbdf8f2e9ab55273b08.tar.bz2 |
powerpc: Convert global "BAD" interrupt to per cpu spurious
I often get asked if BAD interrupts are really bad. On some boxes (eg
IBM machines running a hypervisor) there are valid cases where are
presented with an interrupt that is not for us. These cases are common
enough to show up as thousands of BAD interrupts a day.
Tone them down by calling them spurious. Since they can be a significant cause
of OS jitter, we may as well log them per cpu so we know where they are
occurring.
Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/include')
-rw-r--r-- | arch/powerpc/include/asm/hardirq.h | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/arch/powerpc/include/asm/hardirq.h b/arch/powerpc/include/asm/hardirq.h index cd2d4be..3147a29 100644 --- a/arch/powerpc/include/asm/hardirq.h +++ b/arch/powerpc/include/asm/hardirq.h @@ -9,6 +9,7 @@ typedef struct { unsigned int timer_irqs; unsigned int pmu_irqs; unsigned int mce_exceptions; + unsigned int spurious_irqs; } ____cacheline_aligned irq_cpustat_t; DECLARE_PER_CPU_SHARED_ALIGNED(irq_cpustat_t, irq_stat); @@ -25,7 +26,4 @@ static inline void ack_bad_irq(unsigned int irq) extern u64 arch_irq_stat_cpu(unsigned int cpu); #define arch_irq_stat_cpu arch_irq_stat_cpu -extern u64 arch_irq_stat(void); -#define arch_irq_stat arch_irq_stat - #endif /* _ASM_POWERPC_HARDIRQ_H */ |