-On [20010210 17:30], Jeroen Ruigrok/Asmodai ([EMAIL PROTECTED]) wrote:
>Perhaps only need_resched() needs to be spinlocked.  I am not sure, I am
>not a SMP guru.

To add:

It needed to be spinlocked as you saw jake's commit affirmed and fixed.

However I am currently hanging just after lauching the second CPU:

art_init: trying /sched!st
SMP: CPU1 apic_initialize():
lint0: 0x00010700 lint1: 0x00010400 TPR: 0x00000010 SVR: 0x000001ff

After that the only things I get are:

Generator gate
Generator gate finish

after each couple of seconds.

Going in ddb yields [abbreviated, no serial console]:

ddb> show mutex
Giant @ ../../kern_intr:427

ddb> show witness


        sio             @ isa/sio.c:2549
        sched_lock      @ kern/kern_sync.c:809
        clk             @ i386/isa/clock.c:406
        callout         @ kern/kern_timeout.c:283
        ithread table   @ i386/isa/intr_machdep.c:587
        ithread list    @ kern/kern_intr.237
        ap boot         @ i386/i386/mp_machdep.c:2270
        imen            @ i386/i386/mpapic.c:261

Going out of ddb by panicing resulted in either a direct kernel trap 12
with interrupts disabled or a kernel trap 0 with interrupts disabled
after which another panic led to a kernel trap 12 with interrupts

The kernel trap 12 was an infinite loop.

Jeroen Ruigrok vd Werven/Asmodai    asmodai@[wxs.nl|bart.nl|freebsd.org]
Documentation nutter/C-rated Coder BSD: Technical excellence at its best  
          D78D D0AD 244D 1D12 C9CA  7152 035C 1138 546A B867
I'm a child of the air, I'm a witch of the wind...

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to