diff options
author | Heiko Carstens <heiko.carstens@de.ibm.com> | 2011-01-05 06:47:34 -0500 |
---|---|---|
committer | Martin Schwidefsky <sky@mschwide.boeblingen.de.ibm.com> | 2011-01-05 06:47:26 -0500 |
commit | f48198d592b0d680b9677bd69edd2290cd0c1f4f (patch) | |
tree | 06ef549b2781c90d1841427a83343d9990e3da8f | |
parent | b86651721f18f40319efe94ed3eac2d26682e5b9 (diff) |
[S390] vmur: add support for irq statistics
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>
-rw-r--r-- | arch/s390/include/asm/irq.h | 1 | ||||
-rw-r--r-- | arch/s390/kernel/irq.c | 1 | ||||
-rw-r--r-- | drivers/s390/char/vmur.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 6986343a566f..6c9b55681eab 100644 --- a/arch/s390/include/asm/irq.h +++ b/arch/s390/include/asm/irq.h | |||
@@ -21,6 +21,7 @@ enum interruption_class { | |||
21 | IOINT_C15, | 21 | IOINT_C15, |
22 | IOINT_C70, | 22 | IOINT_C70, |
23 | IOINT_TAP, | 23 | IOINT_TAP, |
24 | IOINT_VMR, | ||
24 | NMI_NMI, | 25 | NMI_NMI, |
25 | NR_IRQS, | 26 | NR_IRQS, |
26 | }; | 27 | }; |
diff --git a/arch/s390/kernel/irq.c b/arch/s390/kernel/irq.c index 5d7b6fbb3c13..ae726d1ae430 100644 --- a/arch/s390/kernel/irq.c +++ b/arch/s390/kernel/irq.c | |||
@@ -38,6 +38,7 @@ static const struct irq_class intrclass_names[] = { | |||
38 | {.name = "C15", .desc = "[I/O] 3215" }, | 38 | {.name = "C15", .desc = "[I/O] 3215" }, |
39 | {.name = "C70", .desc = "[I/O] 3270" }, | 39 | {.name = "C70", .desc = "[I/O] 3270" }, |
40 | {.name = "TAP", .desc = "[I/O] Tape" }, | 40 | {.name = "TAP", .desc = "[I/O] Tape" }, |
41 | {.name = "VMR", .desc = "[I/O] Unit Record Devices" }, | ||
41 | {.name = "NMI", .desc = "[NMI] Machine Check" }, | 42 | {.name = "NMI", .desc = "[NMI] Machine Check" }, |
42 | }; | 43 | }; |
43 | 44 | ||
diff --git a/drivers/s390/char/vmur.c b/drivers/s390/char/vmur.c index f7e4ae6bf15a..caef1757341d 100644 --- a/drivers/s390/char/vmur.c +++ b/drivers/s390/char/vmur.c | |||
@@ -11,6 +11,7 @@ | |||
11 | #define KMSG_COMPONENT "vmur" | 11 | #define KMSG_COMPONENT "vmur" |
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/cdev.h> | 15 | #include <linux/cdev.h> |
15 | #include <linux/slab.h> | 16 | #include <linux/slab.h> |
16 | 17 | ||
@@ -302,6 +303,7 @@ static void ur_int_handler(struct ccw_device *cdev, unsigned long intparm, | |||
302 | { | 303 | { |
303 | struct urdev *urd; | 304 | struct urdev *urd; |
304 | 305 | ||
306 | kstat_cpu(smp_processor_id()).irqs[IOINT_VMR]++; | ||
305 | TRACE("ur_int_handler: intparm=0x%lx cstat=%02x dstat=%02x res=%u\n", | 307 | TRACE("ur_int_handler: intparm=0x%lx cstat=%02x dstat=%02x res=%u\n", |
306 | intparm, irb->scsw.cmd.cstat, irb->scsw.cmd.dstat, | 308 | intparm, irb->scsw.cmd.cstat, irb->scsw.cmd.dstat, |
307 | irb->scsw.cmd.count); | 309 | irb->scsw.cmd.count); |