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

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

[S390] irqstats: split IPI interrupt accounting



We use both the external call and emergency call IPIs to signal remote
cpus. Therefore it makes sense to account them differently withing
/proc/irqstats so we actually know what happened.

Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent e1c4d014
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -8,7 +8,8 @@ enum interruption_class {
	EXTERNAL_INTERRUPT,
	IO_INTERRUPT,
	EXTINT_CLK,
	EXTINT_IPI,
	EXTINT_EXC,
	EXTINT_EMS,
	EXTINT_TMR,
	EXTINT_TLA,
	EXTINT_PFL,
+2 −1
Original line number Diff line number Diff line
@@ -33,7 +33,8 @@ static const struct irq_class intrclass_names[] = {
	{.name = "EXT" },
	{.name = "I/O" },
	{.name = "CLK", .desc = "[EXT] Clock Comparator" },
	{.name = "IPI", .desc = "[EXT] Signal Processor" },
	{.name = "EXC", .desc = "[EXT] External Call" },
	{.name = "EMS", .desc = "[EXT] Emergency Signal" },
	{.name = "TMR", .desc = "[EXT] CPU Timer" },
	{.name = "TAL", .desc = "[EXT] Timing Alert" },
	{.name = "PFL", .desc = "[EXT] Pseudo Page Fault" },
+4 −1
Original line number Diff line number Diff line
@@ -187,7 +187,10 @@ static void do_ext_call_interrupt(unsigned int ext_int_code,
{
	unsigned long bits;

	kstat_cpu(smp_processor_id()).irqs[EXTINT_IPI]++;
	if (ext_int_code == 0x1202)
		kstat_cpu(smp_processor_id()).irqs[EXTINT_EXC]++;
	else
		kstat_cpu(smp_processor_id()).irqs[EXTINT_EMS]++;
	/*
	 * handle bit signal external calls
	 */