[S390] lcs: add support for irq statistics
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>
This commit is contained in:
parent
f48198d592
commit
096a61682e
|
@ -22,6 +22,7 @@ enum interruption_class {
|
||||||
IOINT_C70,
|
IOINT_C70,
|
||||||
IOINT_TAP,
|
IOINT_TAP,
|
||||||
IOINT_VMR,
|
IOINT_VMR,
|
||||||
|
IOINT_LCS,
|
||||||
NMI_NMI,
|
NMI_NMI,
|
||||||
NR_IRQS,
|
NR_IRQS,
|
||||||
};
|
};
|
||||||
|
|
|
@ -39,6 +39,7 @@ static const struct irq_class intrclass_names[] = {
|
||||||
{.name = "C70", .desc = "[I/O] 3270" },
|
{.name = "C70", .desc = "[I/O] 3270" },
|
||||||
{.name = "TAP", .desc = "[I/O] Tape" },
|
{.name = "TAP", .desc = "[I/O] Tape" },
|
||||||
{.name = "VMR", .desc = "[I/O] Unit Record Devices" },
|
{.name = "VMR", .desc = "[I/O] Unit Record Devices" },
|
||||||
|
{.name = "LCS", .desc = "[I/O] LCS" },
|
||||||
{.name = "NMI", .desc = "[NMI] Machine Check" },
|
{.name = "NMI", .desc = "[NMI] Machine Check" },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -26,6 +26,7 @@
|
||||||
#define KMSG_COMPONENT "lcs"
|
#define KMSG_COMPONENT "lcs"
|
||||||
#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/if.h>
|
#include <linux/if.h>
|
||||||
#include <linux/netdevice.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 rc, index;
|
||||||
int cstat, dstat;
|
int cstat, dstat;
|
||||||
|
|
||||||
|
kstat_cpu(smp_processor_id()).irqs[IOINT_LCS]++;
|
||||||
if (lcs_check_irb_error(cdev, irb))
|
if (lcs_check_irb_error(cdev, irb))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue