rounding up CPUs on debug exception

Geoff Levand geoffrey.levand at am.sony.com
Tue Sep 27 06:51:22 EST 2005


Arnd Bergmann wrote:
> On Maandag 26 September 2005 20:52, Geoff Levand wrote:
> 
> 
>>void kgdb_roundup_cpus(unsigned long flags)
>>{
>>	send_IPI_allbutself(APIC_DM_NMI);
>>}
>>
>>I need something similar to support SMP on ppc64.  Can anyone 
>>suggest something?
>>
> 
> The architecture independent function for this is
> smp_call_function(), as defined in arch/ppc64/kernel/smp.c
> 

>From what I understand, the smp_call_function() will block 
while the other cpu has interrupts disabled.  Ideally we 
want to halt that cpu before it does anything else.  Also, if 
the other cpu is waiting on a spin lock the current cpu 
holds, there will be a deadlock.

BTW, the current implementation uses smp_call_function() and 
the system hangs occasionally on the call to smp_call_function().

-Geoff




More information about the Linuxppc64-dev mailing list