Commit b102f29b authored by Helge Deller's avatar Helge Deller

parisc: Count IPI function call interrupts

Like other platforms, count the number of IPI function call interrupts
and show it in /proc/interrupts.
Signed-off-by: default avatarHelge Deller <deller@gmx.de>
parent 237a97d6
...@@ -22,6 +22,7 @@ typedef struct { ...@@ -22,6 +22,7 @@ typedef struct {
unsigned int irq_stack_usage; unsigned int irq_stack_usage;
#ifdef CONFIG_SMP #ifdef CONFIG_SMP
unsigned int irq_resched_count; unsigned int irq_resched_count;
unsigned int irq_call_count;
#endif #endif
unsigned int irq_unaligned_count; unsigned int irq_unaligned_count;
unsigned int irq_fpassist_count; unsigned int irq_fpassist_count;
......
...@@ -180,6 +180,10 @@ int arch_show_interrupts(struct seq_file *p, int prec) ...@@ -180,6 +180,10 @@ int arch_show_interrupts(struct seq_file *p, int prec)
for_each_online_cpu(j) for_each_online_cpu(j)
seq_printf(p, "%10u ", irq_stats(j)->irq_resched_count); seq_printf(p, "%10u ", irq_stats(j)->irq_resched_count);
seq_puts(p, " Rescheduling interrupts\n"); 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 #endif
seq_printf(p, "%*s: ", prec, "UAH"); seq_printf(p, "%*s: ", prec, "UAH");
......
...@@ -155,6 +155,7 @@ ipi_interrupt(int irq, void *dev_id) ...@@ -155,6 +155,7 @@ ipi_interrupt(int irq, void *dev_id)
case IPI_CALL_FUNC: case IPI_CALL_FUNC:
smp_debug(100, KERN_DEBUG "CPU%d IPI_CALL_FUNC\n", this_cpu); smp_debug(100, KERN_DEBUG "CPU%d IPI_CALL_FUNC\n", this_cpu);
inc_irq_stat(irq_call_count);
generic_smp_call_function_interrupt(); generic_smp_call_function_interrupt();
break; break;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment