[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <86802c440812271310ua3dec61gf3aaec921023d2a4@mail.gmail.com>
Date: Sat, 27 Dec 2008 13:10:00 -0800
From: "Yinghai Lu" <yinghai@...nel.org>
To: "Kamalesh Babulal" <kamalesh@...ux.vnet.ibm.com>,
"H. Peter Anvin" <hpa@...or.com>,
"Thomas Gleixner" <tglx@...utronix.de>,
"Ingo Molnar" <mingo@...e.hu>,
"Andrew Morton" <akpm@...ux-foundation.org>,
"Adrian Bunk" <bunk@...nel.org>
Cc: "Sam Ravnborg" <sam@...nborg.org>,
"David Howells" <dhowells@...hat.com>,
"Stephen Rothwell" <sfr@...b.auug.org.au>,
linux-next@...r.kernel.org, LKML <linux-kernel@...r.kernel.org>,
mel@....ul.ie
Subject: Re: [BUG] next-20081216 - WARNING: at kernel/smp.c:333 smp_call_function_mask
On Sat, Dec 27, 2008 at 7:29 AM, Kamalesh Babulal
<kamalesh@...ux.vnet.ibm.com> wrote:
> * Ingo Molnar <mingo@...e.hu> [2008-12-27 13:26:32]:
>
>>
>> * Kamalesh Babulal <kamalesh@...ux.vnet.ibm.com> wrote:
>>
>> > > yes, indeed - updated patch below.
>> > >
>> > > Ingo
>> > >
>> >
>> > Hi Ingo,
>> >
>> > Sorry, for not mentioning that the previous kernel trace, was
>> > after adding the return statement to the arch_init_chip_data().
>>
>> ah, i missed that detail. There was a stupid typo in one of the conflict
>> resolutions i had to do - could you check the updated patch below?
>>
>> Thanks,
>>
>> Ingo
>>
>
>
> Hi Ingo,
>
> kernel still crashes, with the updated patch.
>
>
>> ----------->
>> From 13a0c3c269b223f60abfac8a9811d77111a8b4ba Mon Sep 17 00:00:00 2001
>> From: Yinghai Lu <yinghai@...nel.org>
>> Date: Fri, 26 Dec 2008 02:05:47 -0800
>> Subject: [PATCH] sparseirq: work around compiler optimizing away __weak functions
>>
>> Impact: fix panic on null pointer with sparseirq
>>
>> Some GCC versions seem to inline the weak global function,
>> when that function is empty.
>>
>> Work it around, by making the functions return a (dummy) integer.
>>
>> Signed-off-by: Yinghai <yinghai@...nel.org>
>> Signed-off-by: Ingo Molnar <mingo@...e.hu>
>> ---
>> arch/x86/kernel/io_apic.c | 8 ++++++--
>> include/linux/irq.h | 6 +++---
>> init/main.c | 7 ++++---
>> kernel/irq/handle.c | 7 ++++---
>> 4 files changed, 17 insertions(+), 11 deletions(-)
>>
>> diff --git a/arch/x86/kernel/io_apic.c b/arch/x86/kernel/io_apic.c
>> index 2fe543f..9760393 100644
>> --- a/arch/x86/kernel/io_apic.c
>> +++ b/arch/x86/kernel/io_apic.c
>> @@ -170,7 +170,7 @@ static struct irq_cfg irq_cfgx[NR_IRQS] = {
>> [15] = { .domain = CPU_MASK_ALL, .vector = IRQ15_VECTOR, },
>> };
>>
>> -void __init arch_early_irq_init(void)
>> +int __init arch_early_irq_init(void)
>> {
>> struct irq_cfg *cfg;
>> struct irq_desc *desc;
>> @@ -184,6 +184,8 @@ void __init arch_early_irq_init(void)
>> desc = irq_to_desc(i);
>> desc->chip_data = &cfg[i];
>> }
>> +
>> + return 0;
can you try current tip/master?
current there are several blank __weak, and __weak + return 0..in the
whole tree.
it seems there three solution:
1. use printk?
2. not use __weak with blank function any more, and use #ifdef and
inline functions instead
3. blacklist that gcc 4.1.1 complier..
YH
--
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