diff options
author | Heiko Carstens <heiko.carstens@de.ibm.com> | 2011-01-05 06:47:30 -0500 |
---|---|---|
committer | Martin Schwidefsky <sky@mschwide.boeblingen.de.ibm.com> | 2011-01-05 06:47:25 -0500 |
commit | 3283942b71eb5023184b378230f5f0e3fbb40991 (patch) | |
tree | 269d2d33b7eade2a3dc1092e217ff00bcc8a6e6f | |
parent | 30d77c3e1cbdff304b16ae02cb56baaa308e42fd (diff) |
[S390] dasd: add support for irq statistics
Add support for DASD 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.h | 1 | ||||
-rw-r--r-- | arch/s390/kernel/irq.c | 1 | ||||
-rw-r--r-- | drivers/s390/block/dasd.c | 2 |
3 files changed, 4 insertions, 0 deletions
diff --git a/arch/s390/include/asm/irq.h b/arch/s390/include/asm/irq.h index 28cfe5905a00..082ef0cce287 100644 --- a/arch/s390/include/asm/irq.h +++ b/arch/s390/include/asm/irq.h | |||
@@ -17,6 +17,7 @@ enum interruption_class { | |||
17 | EXTINT_IUC, | 17 | EXTINT_IUC, |
18 | IOINT_QAI, | 18 | IOINT_QAI, |
19 | IOINT_QDI, | 19 | IOINT_QDI, |
20 | IOINT_DAS, | ||
20 | NMI_NMI, | 21 | NMI_NMI, |
21 | NR_IRQS, | 22 | NR_IRQS, |
22 | }; | 23 | }; |
diff --git a/arch/s390/kernel/irq.c b/arch/s390/kernel/irq.c index 61d8098aa0b6..313fe83a443a 100644 --- a/arch/s390/kernel/irq.c +++ b/arch/s390/kernel/irq.c | |||
@@ -34,6 +34,7 @@ static const struct irq_class intrclass_names[] = { | |||
34 | {.name = "IUC", .desc = "[EXT] IUCV" }, | 34 | {.name = "IUC", .desc = "[EXT] IUCV" }, |
35 | {.name = "QAI", .desc = "[I/O] QDIO Adapter Interrupt" }, | 35 | {.name = "QAI", .desc = "[I/O] QDIO Adapter Interrupt" }, |
36 | {.name = "QDI", .desc = "[I/O] QDIO Interrupt" }, | 36 | {.name = "QDI", .desc = "[I/O] QDIO Interrupt" }, |
37 | {.name = "DAS", .desc = "[I/O] DASD" }, | ||
37 | {.name = "NMI", .desc = "[NMI] Machine Check" }, | 38 | {.name = "NMI", .desc = "[NMI] Machine Check" }, |
38 | }; | 39 | }; |
39 | 40 | ||
diff --git a/drivers/s390/block/dasd.c b/drivers/s390/block/dasd.c index fb613d70c2cb..faa7d425cb9c 100644 --- a/drivers/s390/block/dasd.c +++ b/drivers/s390/block/dasd.c | |||
@@ -11,6 +11,7 @@ | |||
11 | #define KMSG_COMPONENT "dasd" | 11 | #define KMSG_COMPONENT "dasd" |
12 | #define pr_fmt(fmt) KMSG_COMPONENT ": " fmt | 12 | #define pr_fmt(fmt) KMSG_COMPONENT ": " fmt |
13 | 13 | ||
14 | #include <linux/kernel_stat.h> | ||
14 | #include <linux/kmod.h> | 15 | #include <linux/kmod.h> |
15 | #include <linux/init.h> | 16 | #include <linux/init.h> |
16 | #include <linux/interrupt.h> | 17 | #include <linux/interrupt.h> |
@@ -1076,6 +1077,7 @@ void dasd_int_handler(struct ccw_device *cdev, unsigned long intparm, | |||
1076 | unsigned long long now; | 1077 | unsigned long long now; |
1077 | int expires; | 1078 | int expires; |
1078 | 1079 | ||
1080 | kstat_cpu(smp_processor_id()).irqs[IOINT_DAS]++; | ||
1079 | if (IS_ERR(irb)) { | 1081 | if (IS_ERR(irb)) { |
1080 | switch (PTR_ERR(irb)) { | 1082 | switch (PTR_ERR(irb)) { |
1081 | case -EIO: | 1083 | case -EIO: |