1
0
Fork 0

ARM: include local timer irq stats only when local timers configured

Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
hifive-unleashed-5.1
Russell King 2010-11-15 13:38:06 +00:00
parent e3fbb08765
commit ec405ea9fe
3 changed files with 16 additions and 12 deletions

View File

@ -7,7 +7,9 @@
typedef struct {
unsigned int __softirq_pending;
#ifdef CONFIG_LOCAL_TIMERS
unsigned int local_timer_irqs;
#endif
} ____cacheline_aligned irq_cpustat_t;
#include <linux/irq_cpustat.h> /* Standard mappings for irq_cpustat_t above */

View File

@ -93,6 +93,8 @@ unlock:
#endif
#ifdef CONFIG_SMP
show_ipi_list(p);
#endif
#ifdef CONFIG_LOCAL_TIMERS
show_local_irqs(p);
#endif
seq_printf(p, "Err: %10lu\n", irq_err_count);

View File

@ -403,18 +403,6 @@ void show_ipi_list(struct seq_file *p)
seq_putc(p, '\n');
}
void show_local_irqs(struct seq_file *p)
{
unsigned int cpu;
seq_printf(p, "LOC: ");
for_each_present_cpu(cpu)
seq_printf(p, "%10u ", irq_stat[cpu].local_timer_irqs);
seq_putc(p, '\n');
}
/*
* Timer (local or broadcast) support
*/
@ -441,6 +429,18 @@ asmlinkage void __exception do_local_timer(struct pt_regs *regs)
set_irq_regs(old_regs);
}
void show_local_irqs(struct seq_file *p)
{
unsigned int cpu;
seq_printf(p, "LOC: ");
for_each_present_cpu(cpu)
seq_printf(p, "%10u ", irq_stat[cpu].local_timer_irqs);
seq_putc(p, '\n');
}
#endif
#ifdef CONFIG_GENERIC_CLOCKEVENTS_BROADCAST