Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 6 Jun 2005 15:12:59 -0400 (EDT)
From:      Jeff Roberson <jroberson@chesapeake.net>
To:        Norikatsu Shigemura <nork@FreeBSD.org>
Cc:        current@FreeBSD.org
Subject:   Re: ULE Status.
Message-ID:  <20050606151209.E16943@mail.chesapeake.net>
In-Reply-To: <200506051547.j55FluRV073876@sakura.ninth-nine.com>
References:  <20050604052429.T8209@mail.chesapeake.net> <200506051336.j55DacJJ070482@sakura.ninth-nine.com> <200506051547.j55FluRV073876@sakura.ninth-nine.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 6 Jun 2005, Norikatsu Shigemura wrote:

> On Sun, 5 Jun 2005 22:36:38 +0900 (JST)
> Norikatsu Shigemura <nork@freebsd.org> 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 seper=
ate
> > > mail to me as I'm more likely to see this than one which is cc'd to
> > > current@.
> > =09Wow! that's cool!
> > =09I tried to 'nice -20 make -j1024 buildworld' with
> > =09SCHED_ULE and PREEMPTION kernel options.  I contacted a
> > =09panic like following, and sorry, I cannot get a crash dump.
>

Is this on CURRENT or 5.x?  What is your sched_ule.c version?  I'm doing
this on CURRENT while playing a movie with mplayer without issue.

> =09I got a crash dump!
>
> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -=
 - -
> [thread pid 31 tid 100026 ]
> Stopped at      sched_add+0xc:  movl    0x150(%eax),%ebx
> db> where
> Tracing pid 31 tid 100026 td 0xc2c58320
> sched_add(0,0,c0480b11,c3a3f4b0,10) at sched_add+0xc
> setrunqueue(c3a3f4b0,0,c3a3f604,c3a3f4b0,c3a3f4b0) at setrunqueue+0x178
> adjustrunqueue(c3a3f4b0,10,10,10c58320,c2c58320) at adjustrunqueue+0xd1
> sched_thread_priority(c3a3f4b0,10,e5db0c78,c04c7f9e,c3a3f4b0) at sched_th=
read_priority+0xb4
> sched_lend_prio(c3a3f4b0,10,c2c50008,28,c2c50028) at sched_lend_prio+0x1d
> propagate_priority(c2c58320,e5db0ca8,c04c849d,c2e14274,0) at propagate_pr=
iority+0x4e
> turnstile_wait(c06d0b60,c3a3f4b0,c2d022c0,4,c2c59c00) at turnstile_wait+0=
x34d
> _mtx_lock_sleep(c06d0b60,c2c58320,0,0,0) at _mtx_lock_sleep+0x111
> ithread_loop(c2c59c00,e5db0d38,fefffefe,fbffeffd,ffffefff) at ithread_loo=
p+0x19c
> fork_exit(c0480c50,c2c59c00,e5db0d38) at fork_exit+0x80
> fork_trampoline() at fork_trampoline+0x8
> --- trap 0x1, eip =3D 0, esp =3D 0xe5db0d6c, ebp =3D 0 ---
> db> show pcpu 0
> cpuid        =3D 0
> curthread    =3D 0xc33a5000: pid 834 "Xorg"
> curpcb       =3D 0xf83cad90
> fpcurthread  =3D none
> idlethread   =3D 0xc2c097d0: pid 12 "idle: cpu0"
> APIC ID      =3D 0
> currentldt   =3D 0x50
> db> show pcpu 1
> cpuid        =3D 1
> curthread    =3D 0xc2c58320: pid 31 "irq19: fwohci0 fxp+"
> curpcb       =3D 0xe5db0d90
> fpcurthread  =3D none
> idlethread   =3D 0xc2c09640: pid 11 "idle: cpu1"
> APIC ID      =3D 1
> currentldt   =3D 0x50
> db> call doadump()
> Dumping 1535 MB
> [CTRL-C to abort]  16 32 48 64 80 96 112 128 144 160 176 192 208 224 240 =
256 272 288 304 320 336 352 368 384 400 416 432 448 464 480 496 512 528 544=
 560 576 592 608 624 640 656 672 688 704 720 736 752 768 784 800 816 832 84=
8 864 880 896 912 928 944 960 976 992 1008 1024 1040 1056 1072 1088 1104 11=
20 1136 1152 1168 1184 1200 1216 1232 1248 1264 1280 1296 1312 1328 1344 13=
60 1376 1392 1408 1424 1440 1456 1472 1488 1504 1520
> Dump complete
> 0xf
> db> reset
> cpu_reset: Restarting BSP
> cpu_reset_proxy: Stopped CPU 1
> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -=
 - -
>
>
> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -=
 - -
> # kgdb -c /var/crash/vmcore.53 /boot/kernel/kernel.debug
> [GDB will not be able to debug user-mode threads: /usr/lib/libthread_db.s=
o: Undefined symbol "ps_pglobal_lookup"]
> GNU gdb 6.1.1 [FreeBSD]
> Copyright 2004 Free Software Foundation, Inc.
> GDB is free software, covered by the GNU General Public License, and you =
are
> welcome to change it and/or distribute copies of it under certain conditi=
ons.
> Type "show copying" to see the conditions.
> There is absolutely no warranty for GDB.  Type "show warranty" for detail=
s.
> This GDB was configured as "i386-marcel-freebsd".
> #0  doadump () at pcpu.h:165
> 165             __asm __volatile("movl %%fs:0,%0" : "=3Dr" (td));
> (kgdb) where
> #0  doadump () at pcpu.h:165
> #1  0xc0430b45 in db_fncall (dummy1=3D-438629904, dummy2=3D0, dummy3=3D11=
5200,
>     dummy4=3D0xe5db09d4 "@qn=C0=F8\003") at /usr/src/sys/ddb/db_command.c=
:531
> #2  0xc04308d2 in db_command (last_cmdp=3D0xc068afc4, cmd_table=3D0x0,
>     aux_cmd_tablep=3D0xc0661264, aux_cmd_tablep_end=3D0xc0661268)
>     at /usr/src/sys/ddb/db_command.c:349
> #3  0xc04309e5 in db_command_loop () at /usr/src/sys/ddb/db_command.c:455
> #4  0xc0432b65 in db_trap (type=3D12, code=3D0) at /usr/src/sys/ddb/db_ma=
in.c:221
> #5  0xc04bdb5e in kdb_trap (type=3D0, code=3D0, tf=3D0xe5db0b70)
>     at /usr/src/sys/kern/subr_kdb.c:471
> #6  0xc0625296 in trap_fatal (frame=3D0xe5db0b70, eva=3D0)
>     at /usr/src/sys/i386/i386/trap.c:826
> #7  0xc0624894 in trap (frame=3D
>       {tf_fs =3D 8, tf_es =3D -438632408, tf_ds =3D -438632408, tf_edi =
=3D -1012665168, tf_esi =3D -1019570208, tf_ebp =3D -438629412, tf_isp =3D =
-438629476, tf_ebx =3D -1012665168, tf_edx =3D 0, tf_ecx =3D -1012225728, t=
f_eax =3D 0, tf_trapno =3D 12, tf_err =3D 0, tf_eip =3D -1068810564, tf_cs =
=3D 32, tf_eflags =3D 65666, tf_esp =3D -1027539100, tf_ss =3D 1}) at /usr/=
src/sys/i386/i386/trap.c:269
> #8  0xc06104da in calltrap () at /usr/src/sys/i386/i386/exception.s:139
> #9  0x00000008 in ?? ()
> #10 0xe5db0028 in ?? ()
> #11 0xe5db0028 in ?? ()
> #12 0xc3a3f4b0 in ?? ()
> #13 0xc33a97e0 in ?? ()
> #14 0xe5db0bdc in ?? ()
> #15 0xe5db0b9c in ?? ()
> #16 0xc3a3f4b0 in ?? ()
> #17 0x00000000 in ?? ()
> #18 0xc3aaa940 in ?? ()
> #19 0x00000000 in ?? ()
> #20 0x0000000c in ?? ()
> #21 0x00000000 in ?? ()
> #22 0xc04b3ebc in sched_add (td=3D0x0, flags=3D0)
>     at /usr/src/sys/kern/sched_ule.c:1745
> #23 0xc04b4988 in setrunqueue (td=3D0xc3a3f4b0, flags=3D0) at kern_switch=
=2Ec:564
> #24 0xc04b46a1 in adjustrunqueue (td=3D0xc3a3f4b0, newpri=3D16)
>     at kern_switch.c:325
> #25 0xc04b3354 in sched_thread_priority (td=3D0xc3a3f4b0, prio=3D16 '\020=
')
>     at /usr/src/sys/kern/sched_ule.c:1235
> #26 0xc04b339d in sched_lend_prio (td=3D0x0, prio=3D16 '\020')
>     at /usr/src/sys/kern/sched_ule.c:1250
> #27 0xc04c7f9e in propagate_priority (td=3D0xc3a3f4b0)
>     at /usr/src/sys/kern/subr_turnstile.c:204
> #28 0xc04c8a7d in turnstile_wait (lock=3D0xc06d0b60, owner=3D0x0)
>     at /usr/src/sys/kern/subr_turnstile.c:629
> #29 0xc0490351 in _mtx_lock_sleep (m=3D0xc06d0b60, td=3D0xc2c58320, opts=
=3D0,
>     file=3D0x0, line=3D0) at /usr/src/sys/kern/kern_mutex.c:550
> #30 0xc0480dec in ithread_loop (arg=3D0xc2c59c00)
>     at /usr/src/sys/kern/kern_intr.c:545
> #31 0xc047fa60 in fork_exit (callout=3D0xc0480c50 <ithread_loop>, arg=3D0=
x0,
>     frame=3D0x0) at /usr/src/sys/kern/kern_fork.c:789
> #32 0xc061053c in fork_trampoline () at /usr/src/sys/i386/i386/exception.=
s:208
> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -=
 - -
>



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