From: Yinghai Lu <yinghai@kernel.org>
To: Ingo Molnar <mingo@elte.hu>
Cc: David Miller <davem@davemloft.net>,
mpm@selenic.com, linux-kernel@vger.kernel.org
Subject: Re: sparc64 build breakage...
Date: Thu, 22 Jan 2009 00:38:56 -0800 [thread overview]
Message-ID: <497830A0.3070805@kernel.org> (raw)
In-Reply-To: <20090122081101.GA32212@elte.hu>
Ingo Molnar wrote:
> * David Miller <davem@davemloft.net> wrote:
>
>> From: David Miller <davem@davemloft.net>
>> Date: Wed, 21 Jan 2009 17:15:53 -0800 (PST)
>>
>>> This change:
>>>
>>> commit d7e51e66899f95dabc89b4d4c6674a6e50fa37fc
>>> Author: Yinghai Lu <yinghai@kernel.org>
>>> Date: Wed Jan 7 15:03:13 2009 -0800
>>>
>>> sparseirq: make some func to be used with genirq
>>>
>>> breaks the sparc64 build:
>> ..
>>> This should fix it:
>>>
>>> sparc64: Fix build by using kstat_irqs_cpu().
>> And here is a mix for the next failure.
>
> Applied your fixes to tip/irq/sparseirq:
>
> e81838d: sparc64: Fix build by using kstat_irqs_cpu()
> 623d3f0: sparc64: Fix build by including linux/irq.h into time_64.c
>
> thanks David!
>
>> But really, either linux/kernel_stat.h provides the
>> kstat_incr_irqs_this_cpu interface or linux/irq.h does, not both.
>
> Yes, but every time someone tries to clean those dependencies up, it gets
> held up by non-genirq architectures:
>
> /*
> * Please do not include this file in generic code. There is currently
> * no requirement for any architecture to implement anything held
> * within this file.
> *
> * Thanks. --rmk
> */
>
> 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:
diff --git a/include/linux/irq.h b/include/linux/irq.h
index 5d6ad5d..7977d54 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 51d2129..b6d2887 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
/*
next prev parent reply other threads:[~2009-01-22 8:40 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-01-22 1:15 sparc64 build breakage David Miller
2009-01-22 1:18 ` David Miller
2009-01-22 1:24 ` David Miller
2009-01-22 8:11 ` Ingo Molnar
2009-01-22 8:38 ` Yinghai Lu [this message]
2009-01-22 9:20 ` Ingo Molnar
2009-01-22 2:34 ` Yinghai Lu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=497830A0.3070805@kernel.org \
--to=yinghai@kernel.org \
--cc=davem@davemloft.net \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=mpm@selenic.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox