Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3283942b authored by Heiko Carstens's avatar Heiko Carstens Committed by Martin Schwidefsky
Browse files

[S390] dasd: add support for irq statistics



Add support for DASD 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 30d77c3e
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@ enum interruption_class {
	EXTINT_IUC,
	IOINT_QAI,
	IOINT_QDI,
	IOINT_DAS,
	NMI_NMI,
	NR_IRQS,
};
+1 −0
Original line number Diff line number Diff line
@@ -34,6 +34,7 @@ static const struct irq_class intrclass_names[] = {
	{.name = "IUC", .desc = "[EXT] IUCV" },
	{.name = "QAI", .desc = "[I/O] QDIO Adapter Interrupt" },
	{.name = "QDI", .desc = "[I/O] QDIO Interrupt" },
	{.name = "DAS", .desc = "[I/O] DASD" },
	{.name = "NMI", .desc = "[NMI] Machine Check" },
};

+2 −0
Original line number Diff line number Diff line
@@ -11,6 +11,7 @@
#define KMSG_COMPONENT "dasd"
#define pr_fmt(fmt) KMSG_COMPONENT ": " fmt

#include <linux/kernel_stat.h>
#include <linux/kmod.h>
#include <linux/init.h>
#include <linux/interrupt.h>
@@ -1076,6 +1077,7 @@ void dasd_int_handler(struct ccw_device *cdev, unsigned long intparm,
	unsigned long long now;
	int expires;

	kstat_cpu(smp_processor_id()).irqs[IOINT_DAS]++;
	if (IS_ERR(irb)) {
		switch (PTR_ERR(irb)) {
		case -EIO: