summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2011-01-05 14:47:37 +0300
committerMartin Schwidefsky <sky@mschwide.boeblingen.de.ibm.com>2011-01-05 14:47:26 +0300
commit85b81cdd0b038d580dedf6289df7de65826967d6 (patch)
tree45611f4accbd79c07232788c7bad7035b0cdba4d
parent355eb4022b92349f70cd69ce5b9572c71c0be226 (diff)
downloadlinux-85b81cdd0b038d580dedf6289df7de65826967d6.tar.xz
[S390] ctc: add support for irq statistics
Add support for CTC 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>
-rw-r--r--arch/s390/include/asm/irq.h1
-rw-r--r--arch/s390/kernel/irq.c1
-rw-r--r--drivers/s390/net/ctcm_main.c2
3 files changed, 4 insertions, 0 deletions
diff --git a/arch/s390/include/asm/irq.h b/arch/s390/include/asm/irq.h
index 2d5943c1c6a1..8c79f9400a36 100644
--- a/arch/s390/include/asm/irq.h
+++ b/arch/s390/include/asm/irq.h
@@ -24,6 +24,7 @@ enum interruption_class {
IOINT_VMR,
IOINT_LCS,
IOINT_CLW,
+ IOINT_CTC,
NMI_NMI,
NR_IRQS,
};
diff --git a/arch/s390/kernel/irq.c b/arch/s390/kernel/irq.c
index 406b539f61a9..57ed2b55c2a1 100644
--- a/arch/s390/kernel/irq.c
+++ b/arch/s390/kernel/irq.c
@@ -41,6 +41,7 @@ static const struct irq_class intrclass_names[] = {
{.name = "VMR", .desc = "[I/O] Unit Record Devices" },
{.name = "LCS", .desc = "[I/O] LCS" },
{.name = "CLW", .desc = "[I/O] CLAW" },
+ {.name = "CTC", .desc = "[I/O] CTC" },
{.name = "NMI", .desc = "[NMI] Machine Check" },
};
diff --git a/drivers/s390/net/ctcm_main.c b/drivers/s390/net/ctcm_main.c
index 2c7d2d9be4d0..4c2845985927 100644
--- a/drivers/s390/net/ctcm_main.c
+++ b/drivers/s390/net/ctcm_main.c
@@ -24,6 +24,7 @@
#define KMSG_COMPONENT "ctcm"
#define pr_fmt(fmt) KMSG_COMPONENT ": " fmt
+#include <linux/kernel_stat.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/kernel.h>
@@ -1204,6 +1205,7 @@ static void ctcm_irq_handler(struct ccw_device *cdev,
int cstat;
int dstat;
+ kstat_cpu(smp_processor_id()).irqs[IOINT_CTC]++;
CTCM_DBF_TEXT_(TRACE, CTC_DBF_DEBUG,
"Enter %s(%s)", CTCM_FUNTAIL, dev_name(&cdev->dev));