aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/include/linux/kernel_stat.h
diff options
context:
space:
mode:
authorYinghai Lu <yinghai@kernel.org>2009-01-22 00:38:56 -0800
committerIngo Molnar <mingo@elte.hu>2009-01-22 10:18:58 +0100
commitd52a61c04c6c0814ca270a088feedb126436598e (patch)
treec216da41e04b856d639cc8b85e3b495cb1e240e4 /include/linux/kernel_stat.h
parentsparc64: Fix build by using kstat_irqs_cpu() (diff)
downloadwireguard-linux-d52a61c04c6c0814ca270a088feedb126436598e.tar.xz
wireguard-linux-d52a61c04c6c0814ca270a088feedb126436598e.zip
irq: clean up irq stat methods
David Miller suggested, related to a kstat_irqs related build breakage: > Either linux/kernel_stat.h provides the kstat_incr_irqs_this_cpu > interface or linux/irq.h does, not both. So move them to kernel_stat.h. Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include/linux/kernel_stat.h')
-rw-r--r--include/linux/kernel_stat.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/include/linux/kernel_stat.h b/include/linux/kernel_stat.h
index a3431b164bea..0c8b89f28a95 100644
--- a/include/linux/kernel_stat.h
+++ b/include/linux/kernel_stat.h
@@ -52,16 +52,19 @@ static inline void kstat_incr_irqs_this_cpu(unsigned int irq,
{
kstat_this_cpu.irqs[irq]++;
}
-#endif
-
-#ifndef CONFIG_GENERIC_HARDIRQS
static inline unsigned int kstat_irqs_cpu(unsigned int irq, int cpu)
{
return kstat_cpu(cpu).irqs[irq];
}
#else
+#include <linux/irq.h>
extern unsigned int kstat_irqs_cpu(unsigned int irq, int cpu);
+#define kstat_irqs_this_cpu(DESC) \
+ ((DESC)->kstat_irqs[smp_processor_id()])
+#define kstat_incr_irqs_this_cpu(irqno, DESC) \
+ ((DESC)->kstat_irqs[smp_processor_id()]++)
+
#endif
/*