Date: Wed, 19 Nov 2003 14:02:30 -0500 From: "Paul Williams" <pwillia@insightbb.com> To: <freebsd-smp@freebsd.org> Subject: Crashes with sched-bind Message-ID: <B5E4A8C96723A94F8E84B8193727E0883F03A4@EXCH01.purdue.lcl>
next in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format. ------=_NextPart_000_0008_01C3AEA5.C63031F0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hello,=20 =A0 I'm trying to use the sched_bind function in the ULE scheduler. It works fine when binding the thread to the processor that it is currently on, = but always crashes when sending it to a different processor. =A0 Here is info from a representative crash (thread is on cpu1, sending it = to cpu0).=A0 I'm grabbing sched_lock (mtx_lock_spin(&sched_lock)), calling sched_bind from the thread I want to bind, and giving it a CPU number = from 0-3 (quad CPU system). I'm running 5-Current from 14 Nov 03. =A0 Any other info necessary or useful to figure out what is going on? =A0 Thank you,=20 Paul =A0 Kernel trap 12 with interrupts disabled =A0 =A0 Fatal trap 12: page fault while in kernel mode Cupid =3D 1; apic id =3D 01 Fault virtual address =3D 0x4 Fault code =3D supervisor write, page not present Instruction pointer =3D 0x8:0xc0515590 Stack pointer =3D 0x10:0xebe2bc10 Frame pointer =3D 0x10:0xebe2bc1c Code segment =3D base 0x0, limit 0xfffff, type 0x1b =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 = =3D DPL 0, pres 1, def32 1, gran 1 processor eflags =3D resume, IOPL =3D 0 current process =3D 576 (call) kernel: type 12 trap, code =3D 0 stopped at runq_add+0x40: orl %eax,0(%edi,%esi,4) db> trace runq_add(0,c64afea0,c06bf9ef,3a2,c06eeea0) at runq_add+0x40 sched_switch(c67e8640,9,c06bedf2,1ce,aa426f45) at sched_switch+0x132 mi_switch(c64afea0,0,c06bf9ef,5d9,ebe2bce0) at mi_switch+0x238 sched_bind(c67e8640,0,c6a6674a,39,ebe2bd40) at sched_bind+0x98 process_bind(c67e8640,ebe2bd10,c06d5f72,3ee,0) at process_bind+0xae syscall(2f,2f,2f,bfbfed48.bfbfed50) at syscall+0x2c0 Xint0x80_syscall() at Xint0x80_syscall+0x1d --- syscall(210, FreeBSD ELF32, hello). Eip=3D0x28097d6d, esp =3D = 0xbfbecd0, ebp =3D 0xbfbfed20 --- =A0 ------=_NextPart_000_0008_01C3AEA5.C63031F0--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?B5E4A8C96723A94F8E84B8193727E0883F03A4>