Commit b8665172 authored by Heiko Carstens's avatar Heiko Carstens Committed by Martin Schwidefsky

[S390] tape: add support for irq statistics

Add support for ccw based tape I/O interrupt statistics in /proc/interrupts.
Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent 3fe22f6b
...@@ -20,6 +20,7 @@ enum interruption_class { ...@@ -20,6 +20,7 @@ enum interruption_class {
IOINT_DAS, IOINT_DAS,
IOINT_C15, IOINT_C15,
IOINT_C70, IOINT_C70,
IOINT_TAP,
NMI_NMI, NMI_NMI,
NR_IRQS, NR_IRQS,
}; };
......
...@@ -37,6 +37,7 @@ static const struct irq_class intrclass_names[] = { ...@@ -37,6 +37,7 @@ static const struct irq_class intrclass_names[] = {
{.name = "DAS", .desc = "[I/O] DASD" }, {.name = "DAS", .desc = "[I/O] DASD" },
{.name = "C15", .desc = "[I/O] 3215" }, {.name = "C15", .desc = "[I/O] 3215" },
{.name = "C70", .desc = "[I/O] 3270" }, {.name = "C70", .desc = "[I/O] 3270" },
{.name = "TAP", .desc = "[I/O] Tape" },
{.name = "NMI", .desc = "[NMI] Machine Check" }, {.name = "NMI", .desc = "[NMI] Machine Check" },
}; };
......
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
#define KMSG_COMPONENT "tape" #define KMSG_COMPONENT "tape"
#define pr_fmt(fmt) KMSG_COMPONENT ": " fmt #define pr_fmt(fmt) KMSG_COMPONENT ": " fmt
#include <linux/kernel_stat.h>
#include <linux/module.h> #include <linux/module.h>
#include <linux/init.h> // for kernel parameters #include <linux/init.h> // for kernel parameters
#include <linux/kmod.h> // for requesting modules #include <linux/kmod.h> // for requesting modules
...@@ -1114,6 +1115,7 @@ __tape_do_irq (struct ccw_device *cdev, unsigned long intparm, struct irb *irb) ...@@ -1114,6 +1115,7 @@ __tape_do_irq (struct ccw_device *cdev, unsigned long intparm, struct irb *irb)
struct tape_request *request; struct tape_request *request;
int rc; int rc;
kstat_cpu(smp_processor_id()).irqs[IOINT_TAP]++;
device = dev_get_drvdata(&cdev->dev); device = dev_get_drvdata(&cdev->dev);
if (device == NULL) { if (device == NULL) {
return; return;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment