[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