1#ifndef __ASM_HARDIRQ_H 2#define __ASM_HARDIRQ_H 3 4#include <linux/threads.h> 5#include <linux/irq.h> 6 7typedef 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 20DECLARE_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 25void ack_bad_irq(unsigned int irq); 26#include <linux/irq_cpustat.h> 27 28#endif /* __ASM_HARDIRQ_H */ 29