[S390] vmur: add support for irq statistics
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Wed, 5 Jan 2011 11:47:34 +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 VMUR 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/char/vmur.c

index 6986343a566f3c128c9543ee6d48fa49dfe6a6f9..6c9b55681eab91c178ceeb02c6aa4ade06256f95 100644 (file)
@@ -21,6 +21,7 @@ enum interruption_class {
        IOINT_C15,
        IOINT_C70,
        IOINT_TAP,
+       IOINT_VMR,
        NMI_NMI,
        NR_IRQS,
 };
index 5d7b6fbb3c13f8398856237707f196c65dad6679..ae726d1ae4304f213a70df735f6ed9efb0eb38a7 100644 (file)
@@ -38,6 +38,7 @@ static const struct irq_class intrclass_names[] = {
        {.name = "C15", .desc = "[I/O] 3215" },
        {.name = "C70", .desc = "[I/O] 3270" },
        {.name = "TAP", .desc = "[I/O] Tape" },
+       {.name = "VMR", .desc = "[I/O] Unit Record Devices" },
        {.name = "NMI", .desc = "[NMI] Machine Check" },
 };
 
index f7e4ae6bf15a5be647bdf4a0223a228880d368a5..caef1757341d4ef7a8e60e1818bbcbfe03dd3675 100644 (file)
@@ -11,6 +11,7 @@
 #define KMSG_COMPONENT "vmur"
 #define pr_fmt(fmt) KMSG_COMPONENT ": " fmt
 
+#include <linux/kernel_stat.h>
 #include <linux/cdev.h>
 #include <linux/slab.h>
 
@@ -302,6 +303,7 @@ static void ur_int_handler(struct ccw_device *cdev, unsigned long intparm,
 {
        struct urdev *urd;
 
+       kstat_cpu(smp_processor_id()).irqs[IOINT_VMR]++;
        TRACE("ur_int_handler: intparm=0x%lx cstat=%02x dstat=%02x res=%u\n",
              intparm, irb->scsw.cmd.cstat, irb->scsw.cmd.dstat,
              irb->scsw.cmd.count);