Re: [BUG][2.6.23-rc6] Badness at arch/powerpc/kernel/smp.c:202

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Kamalesh Babulal <kamalesh@...>
Cc: <linuxppc-dev@...>, <linux-kernel@...>, <paulus@...>, Balbir Singh <balbir@...>
Date: Friday, September 14, 2007 - 6:37 am

Hi Kamalesh,

There's two things at work here ...


On 9/14/07, Kamalesh Babulal <kamalesh@linux.vnet.ibm.com> wrote:

This oops is the real bug here, but is that a machine check exception?
If so, it could be a hardware failure what you saw there instead, and not
really a kernel bug ...



This one is not the real issue at all -- it's just a sad problem in the powerpc
panic() -> smp_send_stop() -> smp_call_function() -> smp_call_function_map()
call chain. The thing is, smp_call_function() cannot be allowed from interrupt
disabled contexts, hence the WARN_ON() there. But panic() is a special case,
and so we must *not* complain when called from panic -- doing so will only
scroll away the real call trace / oops log from the screen (thankfully you had
a serial cable there?) and distract from the real bug, like what
happened here ...

The fix is to define an alternative __smp_call_function(), that calls into
smp_call_function_map(), and is itself called from
smp_call_function(), and then:

1. Use the inner __smp_call_function() in smp_send_stop(), and,
2. Move the WARN_ON() to the smp_call_function() wrapper instead.


I'd be back at my desk only by Tuesday, so don't expect a patch before then,
unless Paul fixes this up by himself before that.


Cheers,

Satyam
-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[BUG][2.6.23-rc6] Badness at arch/powerpc/kernel/smp.c:202, Kamalesh Babulal, (Fri Sep 14, 6:05 am)
Re: [BUG][2.6.23-rc6] Badness at arch/powerpc/kernel/smp.c:202, Satyam Sharma, (Fri Sep 14, 6:37 am)