Loading include/linux/irq.h +2 −2 Original line number Diff line number Diff line Loading @@ -161,8 +161,6 @@ struct irq_desc { #endif #ifdef CONFIG_HAVE_DYN_ARRAY unsigned int *kstat_irqs; #else unsigned int kstat_irqs[NR_CPUS]; #endif #if defined(CONFIG_INTR_REMAP) && defined(CONFIG_HAVE_SPARSE_IRQ) struct irq_2_iommu *irq_2_iommu; Loading Loading @@ -219,8 +217,10 @@ extern struct irq_desc *sparse_irqs; #endif #ifdef CONFIG_HAVE_DYN_ARRAY #define kstat_irqs_this_cpu(DESC) \ ((DESC)->kstat_irqs[smp_processor_id()]) #endif /* * Migration helpers for obsolete names, they will go away: Loading include/linux/kernel_stat.h +8 −2 Original line number Diff line number Diff line Loading @@ -28,7 +28,7 @@ struct cpu_usage_stat { struct kernel_stat { struct cpu_usage_stat cpustat; #ifndef CONFIG_GENERIC_HARDIRQS #ifndef CONFIG_HAVE_DYN_ARRAY unsigned int irqs[NR_IRQS]; #endif }; Loading @@ -41,7 +41,13 @@ DECLARE_PER_CPU(struct kernel_stat, kstat); extern unsigned long long nr_context_switches(void); #ifndef CONFIG_GENERIC_HARDIRQS #ifndef CONFIG_HAVE_DYN_ARRAY #define kstat_irqs_this_cpu(irq) \ (kstat_this_cpu.irqs[irq]) #endif #ifndef CONFIG_HAVE_DYN_ARRAY static inline unsigned int kstat_irqs_cpu(unsigned int irq, int cpu) { return kstat_cpu(cpu).irqs[irq]; Loading kernel/irq/chip.c +20 −1 Original line number Diff line number Diff line Loading @@ -327,7 +327,11 @@ handle_simple_irq(unsigned int irq, struct irq_desc *desc) if (unlikely(desc->status & IRQ_INPROGRESS)) goto out_unlock; desc->status &= ~(IRQ_REPLAY | IRQ_WAITING); #ifdef CONFIG_HAVE_DYN_ARRAY kstat_irqs_this_cpu(desc)++; #else kstat_irqs_this_cpu(irq)++; #endif action = desc->action; if (unlikely(!action || (desc->status & IRQ_DISABLED))) Loading Loading @@ -368,7 +372,11 @@ handle_level_irq(unsigned int irq, struct irq_desc *desc) if (unlikely(desc->status & IRQ_INPROGRESS)) goto out_unlock; desc->status &= ~(IRQ_REPLAY | IRQ_WAITING); #ifdef CONFIG_HAVE_DYN_ARRAY kstat_irqs_this_cpu(desc)++; #else kstat_irqs_this_cpu(irq)++; #endif /* * If its disabled or no action available Loading Loading @@ -415,7 +423,11 @@ handle_fasteoi_irq(unsigned int irq, struct irq_desc *desc) goto out; desc->status &= ~(IRQ_REPLAY | IRQ_WAITING); #ifdef CONFIG_HAVE_DYN_ARRAY kstat_irqs_this_cpu(desc)++; #else kstat_irqs_this_cpu(irq)++; #endif /* * If its disabled or no action available Loading Loading @@ -479,8 +491,11 @@ handle_edge_irq(unsigned int irq, struct irq_desc *desc) mask_ack_irq(desc, irq); goto out_unlock; } #ifdef CONFIG_HAVE_DYN_ARRAY kstat_irqs_this_cpu(desc)++; #else kstat_irqs_this_cpu(irq)++; #endif /* Start handling the irq */ desc->chip->ack(irq); Loading Loading @@ -535,7 +550,11 @@ handle_percpu_irq(unsigned int irq, struct irq_desc *desc) { irqreturn_t action_ret; #ifdef CONFIG_HAVE_DYN_ARRAY kstat_irqs_this_cpu(desc)++; #else kstat_irqs_this_cpu(irq)++; #endif if (desc->chip->ack) desc->chip->ack(irq); Loading kernel/irq/handle.c +10 −0 Original line number Diff line number Diff line Loading @@ -34,7 +34,11 @@ void handle_bad_irq(unsigned int irq, struct irq_desc *desc) { print_irq_desc(irq, desc); #ifdef CONFIG_HAVE_DYN_ARRAY kstat_irqs_this_cpu(desc)++; #else kstat_irqs_this_cpu(irq)++; #endif ack_bad_irq(irq); } Loading Loading @@ -401,7 +405,11 @@ unsigned int __do_IRQ(unsigned int irq) struct irqaction *action; unsigned int status; #ifdef CONFIG_HAVE_DYN_ARRAY kstat_irqs_this_cpu(desc)++; #else kstat_irqs_this_cpu(irq)++; #endif if (CHECK_IRQ_PER_CPU(desc->status)) { irqreturn_t action_ret; Loading Loading @@ -501,10 +509,12 @@ void early_init_irq_lock_class(void) } #endif #ifdef CONFIG_HAVE_DYN_ARRAY unsigned int kstat_irqs_cpu(unsigned int irq, int cpu) { struct irq_desc *desc = irq_to_desc(irq); return desc->kstat_irqs[cpu]; } #endif EXPORT_SYMBOL(kstat_irqs_cpu); Loading
include/linux/irq.h +2 −2 Original line number Diff line number Diff line Loading @@ -161,8 +161,6 @@ struct irq_desc { #endif #ifdef CONFIG_HAVE_DYN_ARRAY unsigned int *kstat_irqs; #else unsigned int kstat_irqs[NR_CPUS]; #endif #if defined(CONFIG_INTR_REMAP) && defined(CONFIG_HAVE_SPARSE_IRQ) struct irq_2_iommu *irq_2_iommu; Loading Loading @@ -219,8 +217,10 @@ extern struct irq_desc *sparse_irqs; #endif #ifdef CONFIG_HAVE_DYN_ARRAY #define kstat_irqs_this_cpu(DESC) \ ((DESC)->kstat_irqs[smp_processor_id()]) #endif /* * Migration helpers for obsolete names, they will go away: Loading
include/linux/kernel_stat.h +8 −2 Original line number Diff line number Diff line Loading @@ -28,7 +28,7 @@ struct cpu_usage_stat { struct kernel_stat { struct cpu_usage_stat cpustat; #ifndef CONFIG_GENERIC_HARDIRQS #ifndef CONFIG_HAVE_DYN_ARRAY unsigned int irqs[NR_IRQS]; #endif }; Loading @@ -41,7 +41,13 @@ DECLARE_PER_CPU(struct kernel_stat, kstat); extern unsigned long long nr_context_switches(void); #ifndef CONFIG_GENERIC_HARDIRQS #ifndef CONFIG_HAVE_DYN_ARRAY #define kstat_irqs_this_cpu(irq) \ (kstat_this_cpu.irqs[irq]) #endif #ifndef CONFIG_HAVE_DYN_ARRAY static inline unsigned int kstat_irqs_cpu(unsigned int irq, int cpu) { return kstat_cpu(cpu).irqs[irq]; Loading
kernel/irq/chip.c +20 −1 Original line number Diff line number Diff line Loading @@ -327,7 +327,11 @@ handle_simple_irq(unsigned int irq, struct irq_desc *desc) if (unlikely(desc->status & IRQ_INPROGRESS)) goto out_unlock; desc->status &= ~(IRQ_REPLAY | IRQ_WAITING); #ifdef CONFIG_HAVE_DYN_ARRAY kstat_irqs_this_cpu(desc)++; #else kstat_irqs_this_cpu(irq)++; #endif action = desc->action; if (unlikely(!action || (desc->status & IRQ_DISABLED))) Loading Loading @@ -368,7 +372,11 @@ handle_level_irq(unsigned int irq, struct irq_desc *desc) if (unlikely(desc->status & IRQ_INPROGRESS)) goto out_unlock; desc->status &= ~(IRQ_REPLAY | IRQ_WAITING); #ifdef CONFIG_HAVE_DYN_ARRAY kstat_irqs_this_cpu(desc)++; #else kstat_irqs_this_cpu(irq)++; #endif /* * If its disabled or no action available Loading Loading @@ -415,7 +423,11 @@ handle_fasteoi_irq(unsigned int irq, struct irq_desc *desc) goto out; desc->status &= ~(IRQ_REPLAY | IRQ_WAITING); #ifdef CONFIG_HAVE_DYN_ARRAY kstat_irqs_this_cpu(desc)++; #else kstat_irqs_this_cpu(irq)++; #endif /* * If its disabled or no action available Loading Loading @@ -479,8 +491,11 @@ handle_edge_irq(unsigned int irq, struct irq_desc *desc) mask_ack_irq(desc, irq); goto out_unlock; } #ifdef CONFIG_HAVE_DYN_ARRAY kstat_irqs_this_cpu(desc)++; #else kstat_irqs_this_cpu(irq)++; #endif /* Start handling the irq */ desc->chip->ack(irq); Loading Loading @@ -535,7 +550,11 @@ handle_percpu_irq(unsigned int irq, struct irq_desc *desc) { irqreturn_t action_ret; #ifdef CONFIG_HAVE_DYN_ARRAY kstat_irqs_this_cpu(desc)++; #else kstat_irqs_this_cpu(irq)++; #endif if (desc->chip->ack) desc->chip->ack(irq); Loading
kernel/irq/handle.c +10 −0 Original line number Diff line number Diff line Loading @@ -34,7 +34,11 @@ void handle_bad_irq(unsigned int irq, struct irq_desc *desc) { print_irq_desc(irq, desc); #ifdef CONFIG_HAVE_DYN_ARRAY kstat_irqs_this_cpu(desc)++; #else kstat_irqs_this_cpu(irq)++; #endif ack_bad_irq(irq); } Loading Loading @@ -401,7 +405,11 @@ unsigned int __do_IRQ(unsigned int irq) struct irqaction *action; unsigned int status; #ifdef CONFIG_HAVE_DYN_ARRAY kstat_irqs_this_cpu(desc)++; #else kstat_irqs_this_cpu(irq)++; #endif if (CHECK_IRQ_PER_CPU(desc->status)) { irqreturn_t action_ret; Loading Loading @@ -501,10 +509,12 @@ void early_init_irq_lock_class(void) } #endif #ifdef CONFIG_HAVE_DYN_ARRAY unsigned int kstat_irqs_cpu(unsigned int irq, int cpu) { struct irq_desc *desc = irq_to_desc(irq); return desc->kstat_irqs[cpu]; } #endif EXPORT_SYMBOL(kstat_irqs_cpu);