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

index 6c9b55681eab91c178ceeb02c6aa4ade06256f95..6a455b8ea18b985766a431e936a786cf0118984d 100644 (file)
@@ -22,6 +22,7 @@ enum interruption_class {
        IOINT_C70,
        IOINT_TAP,
        IOINT_VMR,
+       IOINT_LCS,
        NMI_NMI,
        NR_IRQS,
 };
index ae726d1ae4304f213a70df735f6ed9efb0eb38a7..4c6e071b7f92c8705fc899e7ae8b3ce52d0fd50c 100644 (file)
@@ -39,6 +39,7 @@ static const struct irq_class intrclass_names[] = {
        {.name = "C70", .desc = "[I/O] 3270" },
        {.name = "TAP", .desc = "[I/O] Tape" },
        {.name = "VMR", .desc = "[I/O] Unit Record Devices" },
+       {.name = "LCS", .desc = "[I/O] LCS" },
        {.name = "NMI", .desc = "[NMI] Machine Check" },
 };
 
index 0f19d540b655be900be7e946fd0838c77d95bb03..0bf708944314d7a9f08b6c5fea917ffc1f462f97 100644 (file)
@@ -26,6 +26,7 @@
 #define KMSG_COMPONENT         "lcs"
 #define pr_fmt(fmt) KMSG_COMPONENT ": " fmt
 
+#include <linux/kernel_stat.h>
 #include <linux/module.h>
 #include <linux/if.h>
 #include <linux/netdevice.h>
@@ -1396,6 +1397,7 @@ lcs_irq(struct ccw_device *cdev, unsigned long intparm, struct irb *irb)
        int rc, index;
        int cstat, dstat;
 
+       kstat_cpu(smp_processor_id()).irqs[IOINT_LCS]++;
        if (lcs_check_irb_error(cdev, irb))
                return;