It is currently Thu, 29 Oct 2020 12:53:51 GMT



 
Author Message
 2.4.2 + SMP + EMU10k1 == lock?

Hello,

I asked here about a week ago for help with debugging a random lock I've
been experiencing.  With the help of Mr. Owens, I seem to have gotten a
bit further.  (Long winded way of saying, "Sorry about the messy
looking, clueless debugging.")

I'm running 2.4.2 + KDB 1.8 on my SMP machine (2xp3-600).  I have a
serial console connected to my box.  It looks like things might be
locking up in the EMU10k1 driver.  Anyone else?  Is there any further
info I can provide to someone who might be working on this?

Thanks,
pete

[0]kdb> rd
eax = 0xc983cca0 ebx = 0x00000000 ecx = 0xc02c8794 edx = 0xffffffff
esi = 0x00003296 edi = 0x00000000 esp = 0xc028bf34 eip = 0xe08ac8bd
ebp = 0xc028bf40 xss = 0x00000018 xcs = 0x00000010 eflags = 0x00013096
xds = 0xffff0018 xes = 0x00000018 origeax = 0xffffffff &regs = 0xc028bf00
[0]kdb> bt
    EBP       EIP         Function(args)
0xc028bf40 0xe08ac8bd [emu10k1]emu10k1_waveout_bh+0x11 (0xc983cca0, 0x1, 0xc02c7680)
                               emu10k1 .text 0xe08aa060 0xe08ac8ac 0xe08ac950
0xc028bf58 0xc011bd6b tasklet_hi_action+0x4f (0xc02c7680, 0x0, 0xc02be800)
                               kernel .text 0xc0100000 0xc011bd1c 0xc011bda4
0xc028bf78 0xc011bbfd do_softirq+0x5d (0xc01071d0, 0xc028a000)
                               kernel .text 0xc0100000 0xc011bba0 0xc011bc30
0xc028bf94 0xc010b09e do_IRQ+0xda (0xc01071d0, 0x0, 0xc028a000, 0xc028a000, 0xc01071d0)
                               kernel .text 0xc0100000 0xc010afc4 0xc010b0b0
           0xc010919c ret_from_intr
                               kernel .text 0xc0100000 0xc010919c 0xc01091bc
Interrupt registers:
eax = 0x00000000 ebx = 0xc01071d0 ecx = 0x00000000 edx = 0xc028a000
esi = 0xc028a000 edi = 0xc01071d0 esp = 0xc028bfd0 eip = 0xc01071ff
ebp = 0xc028bfd0 xss = 0x00000018 xcs = 0x00000010 eflags = 0x00003246
xds = 0xc0100018 xes = 0xc0280018 origeax = 0xffffff00 &regs = 0xc028bf9c
           0xc01071ff default_idle+0x2f
                               kernel .text 0xc0100000 0xc01071d0 0xc0107208
0xc028bfe4 0xc0107272 cpu_idle+0x42
                               kernel .text 0xc0100000 0xc0107230 0xc0107288
[0]kdb> rd
eax = 0xc983cca0 ebx = 0x00000000 ecx = 0xc02c8794 edx = 0xffffffff
esi = 0x00003296 edi = 0x00000000 esp = 0xc028bf34 eip = 0xe08ac8bd
ebp = 0xc028bf40 xss = 0x00000018 xcs = 0x00000010 eflags = 0x00013096
xds = 0xffff0018 xes = 0x00000018 origeax = 0xffffffff &regs = 0xc028bf00
[0]kdb> bt
    EBP       EIP         Function(args)
0xc028bf40 0xe08ac8bd [emu10k1]emu10k1_waveout_bh+0x11 (0xc983cca0, 0x1, 0xc02c7680)
                               emu10k1 .text 0xe08aa060 0xe08ac8ac 0xe08ac950
0xc028bf58 0xc011bd6b tasklet_hi_action+0x4f (0xc02c7680, 0x0, 0xc02be800)
                               kernel .text 0xc0100000 0xc011bd1c 0xc011bda4
0xc028bf78 0xc011bbfd do_softirq+0x5d (0xc01071d0, 0xc028a000)
                               kernel .text 0xc0100000 0xc011bba0 0xc011bc30
0xc028bf94 0xc010b09e do_IRQ+0xda (0xc01071d0, 0x0, 0xc028a000, 0xc028a000, 0xc01071d0)
                               kernel .text 0xc0100000 0xc010afc4 0xc010b0b0
           0xc010919c ret_from_intr
                               kernel .text 0xc0100000 0xc010919c 0xc01091bc
Interrupt registers:
eax = 0x00000000 ebx = 0xc01071d0 ecx = 0x00000000 edx = 0xc028a000
esi = 0xc028a000 edi = 0xc01071d0 esp = 0xc028bfd0 eip = 0xc01071ff
ebp = 0xc028bfd0 xss = 0x00000018 xcs = 0x00000010 eflags = 0x00003246
xds = 0xc0100018 xes = 0xc0280018 origeax = 0xffffff00 &regs = 0xc028bf9c
           0xc01071ff default_idle+0x2f
                               kernel .text 0xc0100000 0xc01071d0 0xc0107208
0xc028bfe4 0xc0107272 cpu_idle+0x42
                               kernel .text 0xc0100000 0xc0107230 0xc0107288
[0]kdb> bt
    EBP       EIP         Function(args)
0xc028bf40 0xe08ac8bd [emu10k1]emu10k1_waveout_bh+0x11 (0xc983cca0, 0x1, 0xc02c7680)
                               emu10k1 .text 0xe08aa060 0xe08ac8ac 0xe08ac950
0xc028bf58 0xc011bd6b tasklet_hi_action+0x4f (0xc02c7680, 0x0, 0xc02be800)
                               kernel .text 0xc0100000 0xc011bd1c 0xc011bda4
0xc028bf78 0xc011bbfd do_softirq+0x5d (0xc01071d0, 0xc028a000)
                               kernel .text 0xc0100000 0xc011bba0 0xc011bc30
0xc028bf94 0xc010b09e do_IRQ+0xda (0xc01071d0, 0x0, 0xc028a000, 0xc028a000, 0xc01071d0)
                               kernel .text 0xc0100000 0xc010afc4 0xc010b0b0
           0xc010919c ret_from_intr
                               kernel .text 0xc0100000 0xc010919c 0xc01091bc
Interrupt registers:
eax = 0x00000000 ebx = 0xc01071d0 ecx = 0x00000000 edx = 0xc028a000
esi = 0xc028a000 edi = 0xc01071d0 esp = 0xc028bfd0 eip = 0xc01071ff
ebp = 0xc028bfd0 xss = 0x00000018 xcs = 0x00000010 eflags = 0x00003246
xds = 0xc0100018 xes = 0xc0280018 origeax = 0xffffff00 &regs = 0xc028bf9c
           0xc01071ff default_idle+0x2f
                               kernel .text 0xc0100000 0xc01071d0 0xc0107208
0xc028bfe4 0xc0107272 cpu_idle+0x42
                               kernel .text 0xc0100000 0xc0107230 0xc0107288
[0]kdb> id 0xe08ac8bd
0xe08ac8bd emu10k1_waveout_bh+0x11lock decb 0x17c(%ebx)
0xe08ac8c4 emu10k1_waveout_bh+0x18js     0xe08b31a6 .text.lock+0x280
0xe08ac8ca emu10k1_waveout_bh+0x1etestb  $0x2,(%ebx)
0xe08ac8cd emu10k1_waveout_bh+0x21jne    0xe08ac8e0 emu10k1_waveout_bh+0x34
0xe08ac8cf emu10k1_waveout_bh+0x23movb   $0x1,0x17c(%ebx)
0xe08ac8d6 emu10k1_waveout_bh+0x2apush   %esi
0xe08ac8d7 emu10k1_waveout_bh+0x2bpopf  
0xe08ac8d8 emu10k1_waveout_bh+0x2cjmp    0xe08ac940 emu10k1_waveout_bh+0x94
0xe08ac8da emu10k1_waveout_bh+0x2elea    0x0(%esi),%esi
0xe08ac8e0 emu10k1_waveout_bh+0x34push   %ebx
0xe08ac8e1 emu10k1_waveout_bh+0x35call   0xe08ae7e4 emu10k1_waveout_update
0xe08ac8e6 emu10k1_waveout_bh+0x3alea    0xfffffffc(%ebp),%eax
0xe08ac8e9 emu10k1_waveout_bh+0x3dpush   %eax
0xe08ac8ea emu10k1_waveout_bh+0x3epush   %ebx
0xe08ac8eb emu10k1_waveout_bh+0x3fcall   0xe08ae438 emu10k1_waveout_getxfersize
0xe08ac8f0 emu10k1_waveout_bh+0x44add    $0xc,%esp
[0]kdb> id 0xe08ac89d
0xe08ac89d emu10k1_wavein_bh+0x7dmov    0xf4658ddf(%esi),%eax
0xe08ac8a3 emu10k1_wavein_bh+0x83pop    %ebx
0xe08ac8a4 emu10k1_wavein_bh+0x84pop    %esi
0xe08ac8a5 emu10k1_wavein_bh+0x85mov    %ebp,%esp
0xe08ac8a7 emu10k1_wavein_bh+0x87pop    %ebp
0xe08ac8a8 emu10k1_wavein_bh+0x88ret    
0xe08ac8a9 emu10k1_wavein_bh+0x89lea    0x0(%esi),%esi
0xe08ac8ac emu10k1_waveout_bhpush   %ebp
0xe08ac8ad emu10k1_waveout_bh+0x1mov    %esp,%ebp
0xe08ac8af emu10k1_waveout_bh+0x3sub    $0x4,%esp
0xe08ac8b2 emu10k1_waveout_bh+0x6push   %esi
0xe08ac8b3 emu10k1_waveout_bh+0x7push   %ebx
0xe08ac8b4 emu10k1_waveout_bh+0x8mov    0x8(%ebp),%eax
0xe08ac8b7 emu10k1_waveout_bh+0xbmov    0x8(%eax),%ebx
0xe08ac8ba emu10k1_waveout_bh+0xepushf  
0xe08ac8bb emu10k1_waveout_bh+0xfpop    %esi
[0]kdb> id 0xe08ac8bc
0xe08ac8bc emu10k1_waveout_bh+0x10cli    
0xe08ac8bd emu10k1_waveout_bh+0x11lock decb 0x17c(%ebx)
0xe08ac8c4 emu10k1_waveout_bh+0x18js     0xe08b31a6 .text.lock+0x280
0xe08ac8ca emu10k1_waveout_bh+0x1etestb  $0x2,(%ebx)
0xe08ac8cd emu10k1_waveout_bh+0x21jne    0xe08ac8e0 emu10k1_waveout_bh+0x34
0xe08ac8cf emu10k1_waveout_bh+0x23movb   $0x1,0x17c(%ebx)
0xe08ac8d6 emu10k1_waveout_bh+0x2apush   %esi
0xe08ac8d7 emu10k1_waveout_bh+0x2bpopf  
0xe08ac8d8 emu10k1_waveout_bh+0x2cjmp    0xe08ac940 emu10k1_waveout_bh+0x94
0xe08ac8da emu10k1_waveout_bh+0x2elea    0x0(%esi),%esi
0xe08ac8e0 emu10k1_waveout_bh+0x34push   %ebx
0xe08ac8e1 emu10k1_waveout_bh+0x35call   0xe08ae7e4 emu10k1_waveout_update
0xe08ac8e6 emu10k1_waveout_bh+0x3alea    0xfffffffc(%ebp),%eax
0xe08ac8e9 emu10k1_waveout_bh+0x3dpush   %eax
0xe08ac8ea emu10k1_waveout_bh+0x3epush   %ebx
0xe08ac8eb emu10k1_waveout_bh+0x3fcall   0xe08ae438 emu10k1_waveout_getxfersize
[0]kdb> rd
eax = 0xc983cca0 ebx = 0x00000000 ecx = 0xc02c8794 edx = 0xffffffff
esi = 0x00003296 edi = 0x00000000 esp = 0xc028bf34 eip = 0xe08ac8bd
ebp = 0xc028bf40 xss = 0x00000018 xcs = 0x00000010 eflags = 0x00013096
xds = 0xffff0018 xes = 0x00000018 origeax = 0xffffffff &regs = 0xc028bf00
[0]kdb>

  application_pgp-signature_part
< 1K Download


 Tue, 19 Aug 2003 12:40:03 GMT   
 
   [ 1 post ] 

Similar Threads

1. Tyan S2464 (K7 SMP) + EMU10K1 hardlocks

2. Problems with emu10k1 on SMP machine

3. [PATCH] EMU10K1: Juha Rjola's AC3 Passthrough for SMP kernels (against 2.4.8+Rui)

4. Linux SMP Lock at boot with Epox KP6-BS

5. Linux SMP box Locks

6. SMP and CAPS-Lock

7. Tyan 2466 SMP locks hard with 2.4.20 + heavy disk i/o yet runs 2.2.* without problems

8. PROBLEM: SMP lock ups on Intel SCB2 (2.4.19-2.4.21-pre4)

9. 2.4.20 NFS server lock-up (SMP)


 
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software