On Sat, 4 Jun 2005 05:25:33 -0400 (EDT) Jeff Roberson <jroberson_at_chesapeake.net> wrote: > I just fixed what should be the last ULE+KSE+PREEMPTION bug. Please let > me know if you run into any problems with it, preferably with a seperate > mail to me as I'm more likely to see this than one which is cc'd to > current_at_. Wow! that's cool! I tried to 'nice -20 make -j1024 buildworld' with SCHED_ULE and PREEMPTION kernel options. I contacted a panic like following, and sorry, I cannot get a crash dump. I think that SCHED_ULE got more robustness. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FreeBSD 6.0-CURRENT #3: Sun Jun 5 20:15:37 JST 2005 nork_at_nadesico.ninth-nine.com:/usr/obj/usr/src/sys/NADESICO (snip) CPU: Intel(R) Pentium(R) III CPU family 1133MHz (1129.09-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0x6b1 Stepping = 1 Features=0x383fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE> real memory = 1610547200 (1535 MB) avail memory = 1568817152 (1496 MB) ACPI APIC Table: <VIA694 AWRDACPI> FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs cpu0 (BSP): APIC ID: 0 cpu1 (AP): APIC ID: 1 (snip) FreeBSD/i386 (nadesico.ninth-nine.com) (dcons) login: info: [drm] Loading R200 Microcode [thread pid 36 tid 100021 ] Stopped at sched_add+0xc: movl 0x150(%eax),%ebx db> where Tracing pid 36 tid 100021 td 0xc2c0a320 sched_add(0,0,c0619617,c6521af0,34) at sched_add+0xc setrunqueue(c6521af0,0,c6521c44,c6521af0,c6521af0) at setrunqueue+0x178 adjustrunqueue(c6521af0,34,0,34c57a00,c2c0a320) at adjustrunqueue+0xd1 sched_thread_priority(c6521af0,34,e4355c30,c04c7f9e,c6521af0) at sched_thread_priority+0xb4 sched_lend_prio(c6521af0,34,e4355c30,c0490434,c04b3e80) at sched_lend_prio+0x1d propagate_priority(c2c0a320,c2c0a320,0,0,0) at propagate_priority+0x4e turnstile_wait(c06d0b60,c6521af0,c06d0b60,4,6) at turnstile_wait+0x34d _mtx_lock_sleep(c06d0b60,c2c0a320,0,0,0) at _mtx_lock_sleep+0x111 softclock(0,0,0,0,0) at softclock+0x272 ithread_loop(c2c59980,e4355d38,fefffeff,fbffffff,fffffbff) at ithread_loop+0x1a8 fork_exit(c0480c50,c2c59980,e4355d38) at fork_exit+0x80 fork_trampoline() at fork_trampoline+0x8 --- trap 0x1, eip = 0, esp = 0xe4355d6c, ebp = 0 --- db> show pcpu 0 cpuid = 0 curthread = 0xc2c0a320: pid 36 "swi4: clock sio" curpcb = 0xe4355d90 fpcurthread = none idlethread = 0xc2c097d0: pid 12 "idle: cpu0" APIC ID = 0 currentldt = 0x50 db> show pcpu 1 cpuid = 1 curthread = 0xc6509960: pid 62526 "make" curpcb = 0xf9950d90 fpcurthread = none idlethread = 0xc2c09640: pid 11 "idle: cpu1" APIC ID = 1 currentldt = 0x50 db> call doadump() Dumping 1535 MB 16 32 48 64 80 96 112 128 144 160 176 192 208 224 240 256 272 288 304 320 336 352 368[dcons disconnected (get ptr failed)] [dcons disconnected (read header failed)] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - $ nm /boot/kernel/kernel.debug | grep sched_add c04b3eb0 T sched_add $ addr2line -e /boot/kernel/kernel.debug 0xc04b3ebc /usr/src/sys/kern/sched_ule.c:1745 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void sched_add(struct thread *td, int flags) { (snip) CTR5(KTR_SCHED, "sched_add: %p(%s) prio %d by %p(%s)", td, td->td_proc->p_comm, td->td_priority, curthread, curthread->td_proc->p_comm); mtx_assert(&sched_lock, MA_OWNED); --> ke = td->td_kse; kg = td->td_ksegrp; canmigrate = 1; preemptive = !(flags & SRQ_YIELDING); (snip) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Received on Sun Jun 05 2005 - 11:36:45 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:35 UTC