parisc: Count IPI function call interrupts
authorHelge Deller <deller@gmx.de>
Sat, 5 Jan 2019 19:07:27 +0000 (20:07 +0100)
committerHelge Deller <deller@gmx.de>
Thu, 21 Feb 2019 19:37:11 +0000 (20:37 +0100)
Like other platforms, count the number of IPI function call interrupts
and show it in /proc/interrupts.

Signed-off-by: Helge Deller <deller@gmx.de>
arch/parisc/include/asm/hardirq.h
arch/parisc/kernel/irq.c
arch/parisc/kernel/smp.c

index 1a1235a..7f70395 100644 (file)
@@ -22,6 +22,7 @@ typedef struct {
        unsigned int irq_stack_usage;
 #ifdef CONFIG_SMP
        unsigned int irq_resched_count;
+       unsigned int irq_call_count;
 #endif
        unsigned int irq_unaligned_count;
        unsigned int irq_fpassist_count;
index a1369bb..6f19f36 100644 (file)
@@ -180,6 +180,10 @@ int arch_show_interrupts(struct seq_file *p, int prec)
                for_each_online_cpu(j)
                        seq_printf(p, "%10u ", irq_stats(j)->irq_resched_count);
                seq_puts(p, "  Rescheduling interrupts\n");
+               seq_printf(p, "%*s: ", prec, "CAL");
+               for_each_online_cpu(j)
+                       seq_printf(p, "%10u ", irq_stats(j)->irq_call_count);
+               seq_puts(p, "  Function call interrupts\n");
        }
 #endif
        seq_printf(p, "%*s: ", prec, "UAH");
index 5e26dbe..d9e2d69 100644 (file)
@@ -155,6 +155,7 @@ ipi_interrupt(int irq, void *dev_id)
 
                        case IPI_CALL_FUNC:
                                smp_debug(100, KERN_DEBUG "CPU%d IPI_CALL_FUNC\n", this_cpu);
+                               inc_irq_stat(irq_call_count);
                                generic_smp_call_function_interrupt();
                                break;