From owner-freebsd-smp@FreeBSD.ORG Wed Nov 19 11:03:27 2003 Return-Path: Delivered-To: freebsd-smp@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BD7FF16A4CE for ; Wed, 19 Nov 2003 11:03:27 -0800 (PST) Received: from sccmmhc02.asp.att.net (sccmmhc02.asp.att.net [204.127.203.184]) by mx1.FreeBSD.org (Postfix) with ESMTP id D7A4943F75 for ; Wed, 19 Nov 2003 11:03:25 -0800 (PST) (envelope-from pwillia@insightbb.com) Received: from weeone (12-222-105-121.client.insightbb.com[12.222.105.121]) by sccmmhc02.asp.att.net (sccmmhc02) with SMTP id <20031119190324mm200gkt9ue> (Authid: pwillia@insightbb.com); Wed, 19 Nov 2003 19:03:24 +0000 From: "Paul Williams" To: Date: Wed, 19 Nov 2003 14:02:30 -0500 Message-ID: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_0008_01C3AEA5.C63031F0" X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook, Build 10.0.4510 Content-class: urn:content-classes:message X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165 X-MS-TNEF-Correlator: Importance: Normal X-Content-Filtered-By: Mailman/MimeDel 2.1.1 Subject: Crashes with sched-bind X-BeenThere: freebsd-smp@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: FreeBSD SMP implementation group List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Nov 2003 19:03:27 -0000 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--