[S390] claw: add support for irq statistics
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Wed, 5 Jan 2011 11:47:36 +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 CLAW I/O interrupt statistics in /proc/interrupts.

Signed-off-by: Heiko Carstens <heiko.carstens@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/net/claw.c

index 6a455b8ea18b985766a431e936a786cf0118984d..2d5943c1c6a191fd11ad4b147be2d4a7d7b33b7f 100644 (file)
@@ -23,6 +23,7 @@ enum interruption_class {
        IOINT_TAP,
        IOINT_VMR,
        IOINT_LCS,
+       IOINT_CLW,
        NMI_NMI,
        NR_IRQS,
 };
index 4c6e071b7f92c8705fc899e7ae8b3ce52d0fd50c..406b539f61a9feb2dff48cd0aac0a849b8fd0e38 100644 (file)
@@ -40,6 +40,7 @@ static const struct irq_class intrclass_names[] = {
        {.name = "TAP", .desc = "[I/O] Tape" },
        {.name = "VMR", .desc = "[I/O] Unit Record Devices" },
        {.name = "LCS", .desc = "[I/O] LCS" },
+       {.name = "CLW", .desc = "[I/O] CLAW" },
        {.name = "NMI", .desc = "[NMI] Machine Check" },
 };
 
index 8e4153d740f3bf00d4a465bf5a1526ee66ad518e..ce3a5c13ce0bb88deec855f3fa39c4bd4360ab45 100644 (file)
@@ -63,6 +63,7 @@
 
 #define KMSG_COMPONENT "claw"
 
+#include <linux/kernel_stat.h>
 #include <asm/ccwdev.h>
 #include <asm/ccwgroup.h>
 #include <asm/debug.h>
@@ -640,6 +641,7 @@ claw_irq_handler(struct ccw_device *cdev,
         struct claw_env  *p_env;
         struct chbk *p_ch_r=NULL;
 
+       kstat_cpu(smp_processor_id()).irqs[IOINT_CLW]++;
        CLAW_DBF_TEXT(4, trace, "clawirq");
         /* Bypass all 'unsolicited interrupts' */
        privptr = dev_get_drvdata(&cdev->dev);