Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 04 Dec 1996 15:18:51 +0100
From:      Terje Normann Marthinussen <Terje.N.Marthinussen@cc.uit.no>
To:        Peter Wemm <peter@spinner.dialix.com>
Cc:        smp@freebsd.org
Subject:   Re: Crashing on activating other CPUs 
Message-ID:  <199612041418.PAA03009@slibo.cc.uit.no>
In-Reply-To: Your message of "Wed, 04 Dec 1996 21:16:39 MET." <199612041316.VAA00740@spinner.DIALix.COM> 

next in thread | previous in thread | raw e-mail | index | archive | help
>Terje Normann Marthinussen wrote:
>> >...and full dump messages run by before it freezes solid (and a reset is
>> >necessary).  No variation on SMP_INVLTLB or APIC_IO seems to change the
>> >above behavior.
>> 
>> Our 4 CPU Netserver works without SMP_INVLTLB and APIC_IO (the latter
>> has never worked). With SMP_INVLTLB, I get something similar the
>> moment I do "sysctl -w kern.smp_active=2".
>> 
>> SMP: AP CPU #1 LAUNCHED!!  Starting Scheduling...
>> cpunumber = 0
>> instruction pointer     = 0x8:0xf01b632d
>                          ^^^^^^^^^^^^^^^^
>> stack pointer           = 0x10:0xefbfffa4
>> frame pointer           = 0x10:0xefbfd5e8
>> code segment            = base 0x0, limit 0xfffff, type 0x1b
>>                         = DPL 0, pres 1, def32 1, gran 1
>> processor eflags        = interrupt enabled, IOPL = 0
>> current process         = 149 (sshd@386freebsd2)
>> interrupt mask          = 
>> panic (cpu#0): unknown/reserved trap
>> boot() called on cpu#0
>> 
>> syncing disks... 5 5 2 done
>> Automatic reboot in 15 seconds - press a key on the console to abort
>> 
>> 
>> Terje Marthinussen
>> terjem@cc.uit.no
>
>Hmm, you have all 4 cpu's enabled?  Steve sounds like he's figured out
>why the >2 cpu startup code (presently disabled) causes problems.  We
>do not support >2 cpu's at the moment.  ("do not support" == "known to
>not work" in this case).  We are close, but still not quite there.

No, CPU 3 and 4 fails to start, so I've put:
mp_naps=1;

into mp_machdep.c to avoid trying to start them.

>
>Can you please try two things..
>
>First, where is 0xf01b632d ?  Can you please do this:
># nm /kernel.whatever | sort | more
>and search for the the 3 surrounding function names?

Argh.. don't have that kernel anymore.

However, after recompiling with DDB, I got:
cpunumber = 0
instruction pointer     = 0x8:0xf010d5ad
stack pointer           = 0x10:0xefbfff68
frame pointer           = 0x10:0xefbfff6c
code segment            = base 0x0, limit 0xfffff, type 0x1b
                        = DPL 0, pres 1, def32 1, gran 1
processor eflags        = interrupt enabled, IOPL = 0
current process         = 6 (cpuidle1)
interrupt mask          = 
kernel: type 29 trap, code=0
Stopped at      _smp_idleloop+0x3d:     andl    $0xf000000,%eax
db> trace
_smp_idleloop(f40c14d7,f010d369,1,f01e8294,f01ee958) at _smp_idleloop+0x3d
_smp_kickoff(0) at _smp_kickoff+0x97
_main(efbfffb8,f011cec0,f01ba140,8000000,5,0,efbffff4,f01bd450,f01bcbe3,80000011
,30,22ff00,233000) at _main+0x92


>From /kernel
f010d290 F init_smp.o
f010d290 t _sysctl___kern_smp_active
f010d2bc t ___set_sysctl__kern_sym_sysctl___kern_smp_active
f010d2c0 t _sysctl___kern_idle_debug
f010d2e8 t ___set_sysctl__kern_sym_sysctl___kern_idle_debug
f010d2ec t _sysctl___kern_invldebug
f010d314 t ___set_sysctl__kern_sym_sysctl___kern_invldebug
f010d318 t _sysctl___kern_ignore_idleprocs
f010d348 t ___set_sysctl__kern_sym_sysctl___kern_ignore_idleprocs
f010d34c t ___set_sysinit_set_sym_smpkick_sys_init
f010d388 t _smp_kickoff
f010d488 T _secondary_main
f010d570 t _smp_idleloop
f010d7d0 F init_sysent.o
f010d7d0 F init_sysvec.o
f010d7e0 F kern_acct.o
f010d7e0 t _sysctl___kern_acct_suspend
f010d80c t ___set_sysctl__kern_sym_sysctl___kern_acct_suspend
f010d810 t _sysctl___kern_acct_resume


Terje Marthinussen
terjem@cc.uit.no




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199612041418.PAA03009>