Skip site navigation (1)Skip section navigation (2)
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>