diff options
Diffstat (limited to 'arch/um/include/asm/hardirq.h')
| -rw-r--r-- | arch/um/include/asm/hardirq.h | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/arch/um/include/asm/hardirq.h b/arch/um/include/asm/hardirq.h index b426796d26fd..8de71752a9b8 100644 --- a/arch/um/include/asm/hardirq.h +++ b/arch/um/include/asm/hardirq.h @@ -5,20 +5,27 @@ #include <linux/cache.h> #include <linux/threads.h> +#define __ARCH_IRQ_EXIT_IRQS_DISABLED 1 + typedef struct { unsigned int __softirq_pending; +#if IS_ENABLED(CONFIG_SMP) + unsigned int irq_resched_count; + unsigned int irq_call_count; +#endif } ____cacheline_aligned irq_cpustat_t; -#include <linux/irq_cpustat.h> /* Standard mappings for irq_cpustat_t above */ +DECLARE_PER_CPU_SHARED_ALIGNED(irq_cpustat_t, irq_stat); + +#define __ARCH_IRQ_STAT + +#define inc_irq_stat(member) this_cpu_inc(irq_stat.member) + #include <linux/irq.h> -#ifndef ack_bad_irq static inline void ack_bad_irq(unsigned int irq) { - printk(KERN_CRIT "unexpected IRQ trap at vector %02x\n", irq); + pr_crit("unexpected IRQ trap at vector %02x\n", irq); } -#endif - -#define __ARCH_IRQ_EXIT_IRQS_DISABLED 1 #endif /* __ASM_UM_HARDIRQ_H */ |
