[S390] ap bus: add support for irq statistics
authorHolger Dengler <hd@linux.vnet.ibm.com>
Wed, 5 Jan 2011 11:47:38 +0000 (12:47 +0100)
committerMartin Schwidefsky <sky@mschwide.boeblingen.de.ibm.com>
Wed, 5 Jan 2011 11:47:26 +0000 (12:47 +0100)
Add support for AP Bus I/O interrupt statistics in /proc/interrupts.

Signed-off-by: Holger Dengler <hd@linux.vnet.ibm.com>
Signed-off-by: Felix Beck <felix.beck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/include/asm/irq.h
arch/s390/kernel/irq.c
drivers/s390/crypto/ap_bus.c

index 8c79f9400a36e5f88133f3c78619e33be7665502..db14a311f1d21d2c03c8d093c5c55220c71c18b2 100644 (file)
@@ -25,6 +25,7 @@ enum interruption_class {
        IOINT_LCS,
        IOINT_CLW,
        IOINT_CTC,
+       IOINT_APB,
        NMI_NMI,
        NR_IRQS,
 };
index 57ed2b55c2a1f3c936b2ca27631ca58c976fef62..ea5099c9709c1213cc16f7b5ab2fc8a74372de09 100644 (file)
@@ -42,6 +42,7 @@ static const struct irq_class intrclass_names[] = {
        {.name = "LCS", .desc = "[I/O] LCS" },
        {.name = "CLW", .desc = "[I/O] CLAW" },
        {.name = "CTC", .desc = "[I/O] CTC" },
+       {.name = "APB", .desc = "[I/O] AP Bus" },
        {.name = "NMI", .desc = "[NMI] Machine Check" },
 };
 
index a1ba52a09602cc06355624ef671a7fdd9655133a..4f37c45ee11472d224804cf46d644c9adfd3d6a7 100644 (file)
@@ -27,6 +27,7 @@
 #define KMSG_COMPONENT "ap"
 #define pr_fmt(fmt) KMSG_COMPONENT ": " fmt
 
+#include <linux/kernel_stat.h>
 #include <linux/module.h>
 #include <linux/init.h>
 #include <linux/delay.h>
@@ -1042,6 +1043,7 @@ out:
 
 static void ap_interrupt_handler(void *unused1, void *unused2)
 {
+       kstat_cpu(smp_processor_id()).irqs[IOINT_APB]++;
        tasklet_schedule(&ap_tasklet);
 }