1 #ifndef __ASM_HARDIRQ_H 2 #define __ASM_HARDIRQ_H 3 4 #include <linux/threads.h> 5 #include <linux/irq.h> 6 7 typedef struct { 8 unsigned int __softirq_pending; 9 unsigned long idle_timestamp; 10 unsigned int __nmi_count; /* arch dependent */ 11 unsigned int apic_timer_irqs; /* arch dependent */ 12 unsigned int irq0_irqs; 13 unsigned int irq_resched_count; 14 unsigned int irq_call_count; 15 unsigned int irq_tlb_count; 16 unsigned int irq_thermal_count; 17 unsigned int irq_spurious_count; 18 } ____cacheline_aligned irq_cpustat_t; 19 20 DECLARE_PER_CPU(irq_cpustat_t, irq_stat); 21 22 #define __ARCH_IRQ_STAT 23 #define __IRQ_STAT(cpu, member) (per_cpu(irq_stat, cpu).member) 24 25 void ack_bad_irq(unsigned int irq); 26 #include <linux/irq_cpustat.h> 27 28 #endif /* __ASM_HARDIRQ_H */ 29