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

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

[S390] oprofile: add missing irq stats counter



Count CPU measurement external interrupts as well.

Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
parent bfac1d2d
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -15,6 +15,7 @@ enum interruption_class {
	EXTINT_VRT,
	EXTINT_VRT,
	EXTINT_SCP,
	EXTINT_SCP,
	EXTINT_IUC,
	EXTINT_IUC,
	EXTINT_CPM,
	IOINT_QAI,
	IOINT_QAI,
	IOINT_QDI,
	IOINT_QDI,
	IOINT_DAS,
	IOINT_DAS,
+1 −0
Original line number Original line Diff line number Diff line
@@ -32,6 +32,7 @@ static const struct irq_class intrclass_names[] = {
	{.name = "VRT", .desc = "[EXT] Virtio" },
	{.name = "VRT", .desc = "[EXT] Virtio" },
	{.name = "SCP", .desc = "[EXT] Service Call" },
	{.name = "SCP", .desc = "[EXT] Service Call" },
	{.name = "IUC", .desc = "[EXT] IUCV" },
	{.name = "IUC", .desc = "[EXT] IUCV" },
	{.name = "CPM", .desc = "[EXT] CPU Measurement" },
	{.name = "QAI", .desc = "[I/O] QDIO Adapter Interrupt" },
	{.name = "QAI", .desc = "[I/O] QDIO Adapter Interrupt" },
	{.name = "QDI", .desc = "[I/O] QDIO Interrupt" },
	{.name = "QDI", .desc = "[I/O] QDIO Interrupt" },
	{.name = "DAS", .desc = "[I/O] DASD" },
	{.name = "DAS", .desc = "[I/O] DASD" },
+2 −0
Original line number Original line Diff line number Diff line
@@ -5,6 +5,7 @@
 * Author: Heinz Graalfs <graalfs@de.ibm.com>
 * Author: Heinz Graalfs <graalfs@de.ibm.com>
 */
 */


#include <linux/kernel_stat.h>
#include <linux/kernel.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/module.h>
#include <linux/smp.h>
#include <linux/smp.h>
@@ -677,6 +678,7 @@ static void hws_ext_handler(unsigned int ext_int_code,
	int cpu;
	int cpu;
	struct hws_cpu_buffer *cb;
	struct hws_cpu_buffer *cb;


	kstat_cpu(smp_processor_id()).irqs[EXTINT_CPM]++;
	cpu = smp_processor_id();
	cpu = smp_processor_id();
	cb = &per_cpu(sampler_cpu_buffer, cpu);
	cb = &per_cpu(sampler_cpu_buffer, cpu);