Subject: Re: [PROBLEM] Soft lockup on Linux 2.6.27, 2 patches, Cell/PPC64

From: Benjamin Herrenschmidt <[email-masked]>
Date: Wed, 15 Oct 2008 22:37:33 +1100

> > Well, at the time of the sample, the other CPU indeed -seems- to be in
> > an IRQ disabled section yes. 
> 
> This is not really a sample. The hardirqs enable/disable is actually tracked
> using the TRACE_{EN,DIS}ABLE_INTS macros.

That's what I meant. IE. the hardirq state was updated by the stuck CPU
but sampled by the non-stuck one. ie. the non-stuck one could have
sampled a transcient value where it happened to have hard irq
disabled...

> For the decrementer, the interrupt code is generated by the
> STD_EXCEPTION_COMMON_LITE() macro.

Yeah, I know that :-)

> Aha, none of the PPC interrupt handlers actually us TRACE_ENABLE_INTS (they do
> use TRACE_DISABLE_INTS). So that's why it thinks decrementer_common disabled
> interrupts, without enabling them again...

Well, they aren't supposed to enable IRQs if they were disabled...

Ben.

> With kind regards,
> 
> Geert Uytterhoeven
> Software Architect
> 
> Sony Techsoft Centre Europe
> The Corporate Village · Da Vincilaan 7-D1 · B-1935 Zaventem · Belgium
> 
> Phone:    +32 (0)2 700 8453
> Fax:      +32 (0)2 700 8622
> E-mail:   [email-masked]
> Internet: http://www.sony-europe.com/
> 
> A division of Sony Europe (Belgium) N.V.
> VAT BE 0413.825.160 · RPR Brussels
> Fortis · BIC GEBABEBB · IBAN BE41293037680010