summaryrefslogtreecommitdiffstats
path: root/arch/arm/include
diff options
context:
space:
mode:
authorRussell King2010-11-15 15:46:46 +0100
committerRussell King2010-12-20 16:08:01 +0100
commitb54992fe1b4bad7b7488d58b8696e4e8974fdab0 (patch)
tree42c87b7a7f04627c841467ca65cf4e90f87ce2e2 /arch/arm/include
parentARM: SMP: provide individual IPI interrupt statistics (diff)
downloadkernel-qcow2-linux-b54992fe1b4bad7b7488d58b8696e4e8974fdab0.tar.gz
kernel-qcow2-linux-b54992fe1b4bad7b7488d58b8696e4e8974fdab0.tar.xz
kernel-qcow2-linux-b54992fe1b4bad7b7488d58b8696e4e8974fdab0.zip
ARM: SMP: collect IPI and local timer IRQs for /proc/stat
The IPI and local timer interrupts weren't being properly accounted for in /proc/stat. Collect them from the irq_stat structure, and return their sum. Reviewed-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/include')
-rw-r--r--arch/arm/include/asm/hardirq.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/arm/include/asm/hardirq.h b/arch/arm/include/asm/hardirq.h
index c52e2507c9e0..89ad1805e579 100644
--- a/arch/arm/include/asm/hardirq.h
+++ b/arch/arm/include/asm/hardirq.h
@@ -22,6 +22,14 @@ typedef struct {
#define __inc_irq_stat(cpu, member) __IRQ_STAT(cpu, member)++
#define __get_irq_stat(cpu, member) __IRQ_STAT(cpu, member)
+#ifdef CONFIG_SMP
+u64 smp_irq_stat_cpu(unsigned int cpu);
+#else
+#define smp_irq_stat_cpu(cpu) 0
+#endif
+
+#define arch_irq_stat_cpu smp_irq_stat_cpu
+
#if NR_IRQS > 512
#define HARDIRQ_BITS 10
#elif NR_IRQS > 256