[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20090122092010.GA24758@elte.hu>
Date: Thu, 22 Jan 2009 10:20:10 +0100
From: Ingo Molnar <mingo@...e.hu>
To: Yinghai Lu <yinghai@...nel.org>
Cc: David Miller <davem@...emloft.net>, mpm@...enic.com,
linux-kernel@...r.kernel.org
Subject: Re: sparc64 build breakage...
* Yinghai Lu <yinghai@...nel.org> wrote:
> > Meanwhile that particular comment is moot because ARM is genirq - but
> > there's a handful of other non-genirq architectures so this area of code
> > continues to be a mess.
> >
> > I guess we could move all the APIs to kernel_stat.h. Yinghai?
>
> sth like:
yes. I've applied your cleanup to irq/sparseirq [see the commit below] and
started doing some build testing to see what the general impact is.
Ingo
-------------------->
>From d52a61c04c6c0814ca270a088feedb126436598e Mon Sep 17 00:00:00 2001
From: Yinghai Lu <yinghai@...nel.org>
Date: Thu, 22 Jan 2009 00:38:56 -0800
Subject: [PATCH] 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@...e.hu>
---
include/linux/irq.h | 6 ------
include/linux/kernel_stat.h | 9 ++++++---
2 files changed, 6 insertions(+), 9 deletions(-)
diff --git a/include/linux/irq.h b/include/linux/irq.h
index e9a8789..48901e9 100644
--- a/include/linux/irq.h
+++ b/include/linux/irq.h
@@ -202,12 +202,6 @@ extern struct irq_desc irq_desc[NR_IRQS];
extern struct irq_desc *move_irq_desc(struct irq_desc *old_desc, int cpu);
#endif /* CONFIG_SPARSE_IRQ */
-#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()]++)
-
-
extern struct irq_desc *irq_to_desc_alloc_cpu(unsigned int irq, int cpu);
static inline struct irq_desc *
diff --git a/include/linux/kernel_stat.h b/include/linux/kernel_stat.h
index a3431b1..0c8b89f 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
/*
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists