typedef struct {
        unsigned int __softirq_pending;
        unsigned int timer_irqs_event;
+       unsigned int broadcast_irqs_event;
        unsigned int timer_irqs_others;
        unsigned int pmu_irqs;
        unsigned int mce_exceptions;
 
                seq_printf(p, "%10u ", per_cpu(irq_stat, j).timer_irqs_event);
         seq_printf(p, "  Local timer interrupts for timer event device\n");
 
+       seq_printf(p, "%*s: ", prec, "BCT");
+       for_each_online_cpu(j)
+               seq_printf(p, "%10u ", per_cpu(irq_stat, j).broadcast_irqs_event);
+       seq_printf(p, "  Broadcast timer interrupts for timer event device\n");
+
        seq_printf(p, "%*s: ", prec, "LOC");
        for_each_online_cpu(j)
                seq_printf(p, "%10u ", per_cpu(irq_stat, j).timer_irqs_others);
 {
        u64 sum = per_cpu(irq_stat, cpu).timer_irqs_event;
 
+       sum += per_cpu(irq_stat, cpu).broadcast_irqs_event;
        sum += per_cpu(irq_stat, cpu).pmu_irqs;
        sum += per_cpu(irq_stat, cpu).mce_exceptions;
        sum += per_cpu(irq_stat, cpu).spurious_irqs;
 
 void timer_broadcast_interrupt(void)
 {
        u64 *next_tb = this_cpu_ptr(&decrementers_next_tb);
-       struct pt_regs *regs = get_irq_regs();
 
-       trace_timer_interrupt_entry(regs);
        *next_tb = ~(u64)0;
        tick_receive_broadcast();
-       __this_cpu_inc(irq_stat.timer_irqs_event);
-       trace_timer_interrupt_exit(regs);
+       __this_cpu_inc(irq_stat.broadcast_irqs_event);
 }
 #endif