[parisc-linux] Re:[parisc-linux-cvs] linux-2.6 kyle

Joel Soete soete.joel at tiscali.be
Mon Aug 7 04:32:01 MDT 2006


> On Sun, 2006-08-06 at 18:26 +0000, Joel Soete wrote:
> > > :_( (I have hoping but) that doesn't fix the soft lockup pb:
> > > patst007 login: BUG: soft lockup detected on CPU#0!
> > > show_stack(1).
> > > Backtrace:
> > >  [<101560d8>] softlockup_tick+0xd4/0x148
> > >  [<1013be90>] update_process_times+0x3c/0x88
> > >  [<101091dc>] timer_interrupt+0xd0/0x1b0
> > >  [<10156534>] handle_IRQ_event+0x5c/0xa4
> > >  [<10156614>] __do_IRQ+0x98/0x1d0
> > >  [<10109960>] do_cpu_irq_mask+0xdc/0x194
> > >  [<1010c068>] intr_return+0x0/0x1c
> > > 
> > > 
> > Anyway this time on this 32bit smp kernel I reach to grab some interesting
stuff from toc:
> > in summary :
> > on cpu#0:
> > rp ==> _raw_read_lock()
> > 
> > iaoq ==> generic__raw_read_trylock()
> > 
> > GR[26] == arg0 = 00000000104a3e40
> > 
> > while on cpu#1
> > 
> > rp ==> copy_process()
> > 
> > iaoq ==> _raw_write_lock()
> > 
> > GR[26] == arg0 = 00000000104a3e40
> 
> Thanks for tracing this down.
> 
> This is an almost identical scenario to the one described here:
> 
>
http://lists.parisc-linux.org/pipermail/parisc-linux-cvs/2005-October/036211.html
> 
> Just with slightly different locking semantics.
> 
> Could you look at the flags register on CPU#0 and see if interrupts were
> disabled while we were trying generic__raw_read_trylock()?
> 
Oops my bad: I forgot the raw data, here there are
[snip]
-----------------  Processor 0 TOC Information -------------------

General Registers 0 - 31
00-03  0000000000000000  0000000010249800  0000000010249e3c  000000001da199c0
04-07  000000000000000e  00000000104a3e40  0000000000000001  0000000000000001
08-11  000000001dac16b8  00000000104491c0  00000000104d29c0  00000000104a3810
12-15  00000000104a3810  000000000002ed58  000000000002e558  000000000001cbfc
16-19  00000000148b8480  0000000000030d58  000000000002e558  00000000deaf1eed
20-23  0000000000000000  0000000000000000  0000000010133eec  00000000bb2e6b73
24-27  000000001dac16b8  0000000000000001  00000000104a3e40  000000001044a010
28-31  0000000000000000  00000000c4653600  00000000148b8a00  000000001014d1b8

<Press any key to continue (q to quit)>

Control Registers 0 - 31
00-03  0000000000000000  0000000000000000  0000000000000000  0000000000000000
04-07  0000000000000000  0000000000000000  0000000000000000  0000000000000000
08-11  000000000001c330  0000000000000000  00000000000000c0  0000000000000017
12-15  0000000000000000  0000000000000000  000000000010b000  00000000ff000000
16-19  00002666fda98ac7  0000000000000000  0000000010104c90  000000000f40109c
20-23  0000000000240001  0000000028ca3e40  000000000006000f  0000000080000000
24-27  00000000004a6000  0000000005544000  00000000aaaaaaaa  00000000aaaaaaaa
28-31  00000000000003d0  0000000011111111  00000000148b8000  00000000104f8000

Space Registers 0 - 7
00-03  00000000          00000000          00000000          0000e198
04-07  00000000          00000000          00000000          00000000

IIA Space                    = 0x0000000000000000
IIA Offset                   = 0x0000000010104c94
CPU State                    = 0x9e000001

[snip]
-----------------  Processor 1 TOC Information -------------------

General Registers 0 - 31
00-03  0000000000000000  000000001024a000  000000001012bfc4  00000000104a3e40
04-07  0000000000000000  000000001de80938  0000000000000f26  00000000104a3810
08-11  000000001e951238  000000001de80938  000000001de99680  00000000104a5810
12-15  0000000000000000  00000000407f849c  00000000408bb480  000000001e9513e0
16-19  0000000000000000  000000001de809f8  0000000000000000  000000001d5a0000
20-23  0000000000000001  0000000000000000  000000000cf2bc1d  0000000000000000
24-27  0000000000000000  00000000103f0000  00000000104a3e40  000000001044a010
28-31  0000000000000000  00000000d6e18140  000000001d5a02c0  0000000000000012

<Press any key to continue (q to quit)>

Control Registers 0 - 31
00-03  0000000000000000  0000000000000000  0000000000000000  0000000000000000
04-07  0000000000000000  0000000000000000  0000000000000000  0000000000000000
08-11  0000000000000f4a  0000000000000000  00000000000000c0  000000000000001d
12-15  0000000000000000  0000000000000000  000000000010b000  00000000ff000000
16-19  0000266740541c18  0000000000000000  000000001024a1a4  000000000c68109c
20-23  0000000004240041  0000000028ca3e44  00000000002e000e  0000000080000000
24-27  00000000004a6000  000000000da20000  00000000aaaaaaaa  00000000407f74a0
28-31  00000000aaaaaaaa  0000000011111111  000000001d5a0000  0000000011111111

Space Registers 0 - 7
00-03  000007a5          00000000          00000000          000007a5
04-07  00000000          00000000          00000000          00000000

IIA Space                    = 0x0000000000000000
IIA Offset                   = 0x000000001024a18c
CPU State                    = 0x9e000001

[snip]

if PSW is well "CPU State" iirc yes I-bit is 1 ;-)

Thanks,
    Joel

> Thanks,
> 
> James
> 
> 
> 


----------
Club Scarlet : Tout le monde gagne! Si vous devenez aujourd'hui Scarlet One grace a un client existant de Scarlet, vous recevez tous les deux un cadeau d'une valeur de 50 euros! Surfez vite sur http://www.clubscarlet.be




More information about the parisc-linux mailing list