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>
This commit is contained in:
parent
e3fbb08765
commit
ec405ea9fe
3 changed files with 16 additions and 12 deletions
|
@ -7,7 +7,9 @@
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
unsigned int __softirq_pending;
|
unsigned int __softirq_pending;
|
||||||
|
#ifdef CONFIG_LOCAL_TIMERS
|
||||||
unsigned int local_timer_irqs;
|
unsigned int local_timer_irqs;
|
||||||
|
#endif
|
||||||
} ____cacheline_aligned irq_cpustat_t;
|
} ____cacheline_aligned irq_cpustat_t;
|
||||||
|
|
||||||
#include <linux/irq_cpustat.h> /* Standard mappings for irq_cpustat_t above */
|
#include <linux/irq_cpustat.h> /* Standard mappings for irq_cpustat_t above */
|
||||||
|
|
|
@ -93,6 +93,8 @@ int show_interrupts(struct seq_file *p, void *v)
|
||||||
#endif
|
#endif
|
||||||
#ifdef CONFIG_SMP
|
#ifdef CONFIG_SMP
|
||||||
show_ipi_list(p);
|
show_ipi_list(p);
|
||||||
|
#endif
|
||||||
|
#ifdef CONFIG_LOCAL_TIMERS
|
||||||
show_local_irqs(p);
|
show_local_irqs(p);
|
||||||
#endif
|
#endif
|
||||||
seq_printf(p, "Err: %10lu\n", irq_err_count);
|
seq_printf(p, "Err: %10lu\n", irq_err_count);
|
||||||
|
|
|
@ -403,18 +403,6 @@ void show_ipi_list(struct seq_file *p)
|
||||||
seq_putc(p, '\n');
|
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
|
* Timer (local or broadcast) support
|
||||||
*/
|
*/
|
||||||
|
@ -441,6 +429,18 @@ asmlinkage void __exception do_local_timer(struct pt_regs *regs)
|
||||||
|
|
||||||
set_irq_regs(old_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
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_GENERIC_CLOCKEVENTS_BROADCAST
|
#ifdef CONFIG_GENERIC_CLOCKEVENTS_BROADCAST
|
||||||
|
|
Loading…
Reference in a new issue