From owner-freebsd-stable Sat Jul 8 13:36:43 2000 Delivered-To: freebsd-stable@freebsd.org Received: from mail.bezeqint.net (mail-a.bezeqint.net [192.115.106.23]) by hub.freebsd.org (Postfix) with ESMTP id D5F2337B9ED for ; Sat, 8 Jul 2000 13:36:39 -0700 (PDT) (envelope-from nimrodme@bezeqint.net) Received: from bezeqint.net ([212.179.166.241]) by mail.bezeqint.net (Sun Internet Mail Server sims.3.5.2000.03.23.18.03.p10) with ESMTP id <0FXE00C1WBVATW@mail.bezeqint.net> for freebsd-stable@freebsd.org; Sat, 8 Jul 2000 23:35:35 +0300 (IDT) Date: Sat, 08 Jul 2000 23:33:18 +0300 From: Nimrod Mesika Subject: Re: SMP Busted? To: John Reynolds , freebsd-stable@freebsd.org Reply-To: nimrodm@email.com Message-id: <3967900E.3268C8F4@bezeqint.net> MIME-version: 1.0 X-Mailer: Mozilla 4.72 [en] (X11; I; Linux 2.2.12 i386) Content-type: text/plain; charset=us-ascii Content-transfer-encoding: 7bit X-Accept-Language: en References: <39675CEC.BE15E450@bezeqint.net> <14695.35795.462198.432825@whale.home-net> Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG John Reynolds wrote: > last few days .... on my BP6 things seem to be OK (except for 'random' lockups > I've seen with massive disk I/O to ad4 during "-j16" buildworlds) as far as SMP I've had these random lockups myself on this BP6 board. Seems like bad hardware but very difficult to explain to the Windows-oriented salesmen... They'll tell you try Windows and when it crashes go complain to MS :) > goes. My uname output sez that I built and am running a kernel from Jul 5th if > that helps people track down what has gone haywire > > FreeBSD dolphin 4.0-STABLE FreeBSD 4.0-STABLE #0: Wed Jul 5 00:23:20 MST 2000 root@dolphin:/usr/src/sys/compile/DOLPHIN i386 I'm pretty sure the patches entered by David O'Brien on 7/7/2000 are the one to blame (I know he patched exception.s, apic_vector.s and maybe more). How does one use cvs to retrieve only those patches? I can't seem to be able to get the diffs between two different dates on RELENG_4, only on -current... David, if you're reading this... look at this example: This is from exception.s: IDTVEC(fpu) #if NNPX > 0 /* * Handle like an interrupt (except for accounting) so that we can * call npx_intr to clear the error. It would be better to handle * npx interrupts as traps. Nested interrupts would probably have * to be converted to ASTs. */ pushl $0 /* dummy error code */ pushl $0 /* dummy trap type */ pushal pushl %ds pushl %es /* now stack frame is a trap frame */ pushl %fs mov $KDSEL,%ax mov %ax,%ds mov %ax,%es MOVL_KPSEL_EAX mov %ax,%fs FAKE_MCOUNT(13*4(%esp)) And that's the code generated, as disassembled by gdb: (gdb) disassemble Xfpu Dump of assembler code for function Xfpu: 0xc020933c : push $0x0 0xc020933e : push $0x0 0xc0209340 : pusha 0xc0209341 : push %ds 0xc0209342 : push %es 0xc0209343 : push %fs 0xc0209345 : mov $0x10,%ax 0xc0209349 : mov %eax,%ds 0xc020934b : mov %eax,%es 0xc020934d : mov $0x18,%eax 0xc0209352 : mov %eax,%fs 0xc0209354 : lock incl 0xc02be6a4 0xc020935b : call 0xc0215e54 0xc0209360 : mov 0xc029551c,%eax 0xc0209365 : push %eax 0xc0209366 : push $0x0 0xc0209368 : call 0xc0224ab0 0xc020936d : incb 0xc0294e2c 0xc0209373 : jmp 0xc020d440 End of assembler dump. Does it make sense? (All these auto long/word selection seems fishy...) My 386 assembly needs serious refreshing I guess. -- Nimrod. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message