From owner-freebsd-smp Tue Mar 25 10:25:21 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id KAA29230 for smp-outgoing; Tue, 25 Mar 1997 10:25:21 -0800 (PST) Received: from dns.pinpt.com (dns.pinpt.com [205.179.195.1]) by freefall.freebsd.org (8.8.5/8.8.5) with SMTP id KAA29225 for ; Tue, 25 Mar 1997 10:25:18 -0800 (PST) Received: from rover4 (gatemaster.pinpt.com [205.179.195.65]) by dns.pinpt.com (8.6.12/8.6.12) with SMTP id KAA12898 for ; Tue, 25 Mar 1997 10:23:30 -0800 Date: Tue, 25 Mar 97 10:23:04 Pacific Standard Time From: "Sean J. Schluntz" Subject: SMP and 3/486's To: freebsd-smp@freefall.freebsd.org X-Mailer: Chameleon ATX 6.0, Standards Based IntraNet Solutions, NetManage Inc. X-Priority: 3 (Normal) References: <199703011139.DAA28788@freefall.freebsd.org> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-smp@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk Does the SMP kernal in FreeBSD support systems with multiple 386's or 486's? I see a lot of talk about P5's and P6's but I have known about multi-processor systems using intel chips for a number of years, using 386's and 486's. -Sean ---------------------------------------------------------------------- Sean J. Schluntz Manager, Support Services ph. 408.997.6900 x222 PinPoint Software Corporation fx. 408.323.2300 6155 Almaden Expressway, Suite 100 San Jose, CA. 95120 http://www.pinpt.com/ Local Time Sent: 03/25/97 10:23:04 ---------------------------------------------------------------------- From owner-freebsd-smp Tue Mar 25 11:15:08 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id LAA02023 for smp-outgoing; Tue, 25 Mar 1997 11:15:08 -0800 (PST) Received: from Ilsa.StevesCafe.com (sc-gw.StevesCafe.com [205.168.119.191]) by freefall.freebsd.org (8.8.5/8.8.5) with ESMTP id LAA02017 for ; Tue, 25 Mar 1997 11:15:04 -0800 (PST) Received: from localhost (localhost [127.0.0.1]) by Ilsa.StevesCafe.com (8.7.5/8.6.12) with SMTP id MAA27367; Tue, 25 Mar 1997 12:14:43 -0700 (MST) Message-Id: <199703251914.MAA27367@Ilsa.StevesCafe.com> X-Authentication-Warning: Ilsa.StevesCafe.com: Host localhost [127.0.0.1] didn't use HELO protocol X-Mailer: exmh version 1.6.5 12/11/95 From: Steve Passe To: "Sean J. Schluntz" cc: freebsd-smp@freefall.freebsd.org Subject: Re: SMP and 3/486's In-reply-to: Your message of "Tue, 25 Mar 1997 10:23:04 EST." Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Tue, 25 Mar 1997 12:14:43 -0700 Sender: owner-smp@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk Hi, > Does the SMP kernal in FreeBSD support systems with multiple 386's or 486's? > I see a lot of talk about P5's and P6's but I have known about multi-processor > systems using intel chips for a number of years, using 386's and 486's. no, 386/486 chips just can't do this sort of thing *efficiently*, the P5/P6 were designed to do SMP. I'm not saying it couldn't be done, just that it doesn't appear worth the effort to those involved... -- Steve Passe | powered by smp@csn.net | Symmetric MultiProcessor FreeBSD From owner-freebsd-smp Tue Mar 25 12:03:37 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id MAA05243 for smp-outgoing; Tue, 25 Mar 1997 12:03:37 -0800 (PST) Received: from uruk.org (root@ns.uruk.org [198.145.95.253]) by freefall.freebsd.org (8.8.5/8.8.5) with SMTP id MAA05236 for ; Tue, 25 Mar 1997 12:03:31 -0800 (PST) Received: from uruk.org [127.0.0.1] (erich) by uruk.org with esmtp (Exim 0.53 #1) id E0w9cbg-0007mJ-00; Tue, 25 Mar 1997 12:14:08 -0800 To: Steve Passe cc: schluntz@pinpt.com, freebsd-smp@freefall.freebsd.org Subject: Re: SMP and 3/486's In-reply-to: Your message of "Tue, 25 Mar 1997 12:14:43 MST." <199703251914.MAA27367@Ilsa.StevesCafe.com> Date: Tue, 25 Mar 1997 12:14:08 -0800 From: Erich Boleyn Message-Id: Sender: owner-smp@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk From: Steve Passe wrote: > Hi, > > Does the SMP kernal in FreeBSD support systems with multiple 386's > > or 486's? I see a lot of talk about P5's and P6's but I have known > > about multi-processor systems using intel chips for a number of > > years, using 386's and 486's. > > no, 386/486 chips just can't do this sort of thing *efficiently*, > the P5/P6 were designed to do SMP. I'm not saying it couldn't be > done, just that it doesn't appear worth the effort to those involved... Well... I really think the reasons that most 386 and 486 machines aren't supported are that: -- there are only a few Intel MPS-compatible (the SMP standard that FreeBSD-SMP supports) SMP 486 machines, and no 386 machines. -- they are old, slow, and generally not manufactured anymore. -- mostly custom hardware, with support for each kind having to be added in and tested separately (there there is likely a common code base). Clearly not worth the effort. -- Erich Stefan Boleyn \_ E-mail (preferred): Mad Genius wanna-be, CyberMuffin \__ (finger me for other stats) Web: http://www.uruk.org/~erich/ Motto: "I'll live forever or die trying" From owner-freebsd-smp Tue Mar 25 17:28:23 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id RAA29869 for smp-outgoing; Tue, 25 Mar 1997 17:28:23 -0800 (PST) Received: from umr.edu (hermes.cc.umr.edu [131.151.1.68]) by freefall.freebsd.org (8.8.5/8.8.5) with ESMTP id RAA29862 for ; Tue, 25 Mar 1997 17:28:18 -0800 (PST) Received: from ultra7.cs.umr.edu (ultra7.cs.umr.edu [131.151.6.85]) via ESMTP by hermes.cc.umr.edu (8.8.5/R.4.20) id TAA14123; Tue, 25 Mar 1997 19:28:00 -0600 (CST) Received: (brenner@localhost) by ultra7.cs.umr.edu (8.6.12/2.00) id TAA03103; Tue, 25 Mar 1997 19:27:58 -0600 Message-Id: <199703260127.TAA03103@ultra7.cs.umr.edu> To: freebsd-smp@freebsd.org Date: Tue, 25 Mar 1997 19:27:58 -0600 (CST) From: "Corey Brenner" X-Mailer: ELM [version 2.4 PL25] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-smp@freebsd.org X-Loop: FreeBSD.org Precedence: bulk subscribe brenner@umr.edu freebsd-smp From owner-freebsd-smp Wed Mar 26 03:00:04 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id DAA02825 for smp-outgoing; Wed, 26 Mar 1997 03:00:04 -0800 (PST) Received: from corona.jcmax.com (corona.jcmax.com [204.69.248.2]) by freefall.freebsd.org (8.8.5/8.8.5) with SMTP id DAA02813 for ; Wed, 26 Mar 1997 03:00:01 -0800 (PST) Received: by corona.jcmax.com (5.65/2.49G/4.1.3_U1) id AA21640; Wed, 26 Mar 97 05:59:53 -0500 Date: Wed, 26 Mar 97 05:59:53 -0500 From: cr@jcmax.com (Cyrus Rahman) Message-Id: <9703261059.AA21640@corona.jcmax.com> To: smp@freebsd.org Subject: APIC_IO and the fpu Sender: owner-smp@freebsd.org X-Loop: FreeBSD.org Precedence: bulk >> >It looks to me that the problem with the fpu stuff might be more a >> >function of FPU error handling (irq13 vs. IDT trap #16) rather than just >> >plain floating point operations... >> >> I agree, and think that someone could find it by examining what goes on >> in i386/isa/npx.c:mpxintr(). > >A further thought, its possible that it could be APIC_IO related, could >someone run this program on both an APIC_IO and non APIC_IO kernel >to see if it locks both (I don't have an SMP machine anymore)? > >> ======================================================================== >> #include >> #include >> void blech() { exit(3); } >> main() >> { >> int i32; >> double f; >> int result = 0; >> signal(SIGFPE, blech); >> >> f = (double) 0x7fffffff; >> f = 10 * f; >> i32 = (int) f; >> >> if (i32 != (int) f) >> result |= 1; >> exit(result); >> } >> ======================================================================== > >-- >Steve Passe | powered by >smp@csn.net | FreeBSD The code runs fine with APIC_IO off, but locks the machine up quite nicely with it on. I'm not sure what causes the problem yet... Cyrus From owner-freebsd-smp Wed Mar 26 03:24:35 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id DAA03666 for smp-outgoing; Wed, 26 Mar 1997 03:24:35 -0800 (PST) Received: from corona.jcmax.com (corona.jcmax.com [204.69.248.2]) by freefall.freebsd.org (8.8.5/8.8.5) with SMTP id DAA03661 for ; Wed, 26 Mar 1997 03:24:33 -0800 (PST) Received: by corona.jcmax.com (5.65/2.49G/4.1.3_U1) id AA22145; Wed, 26 Mar 97 06:24:31 -0500 Date: Wed, 26 Mar 97 06:24:31 -0500 From: cr@jcmax.com (Cyrus Rahman) Message-Id: <9703261124.AA22145@corona.jcmax.com> To: smp@freebsd.org Subject: APIC_IO and the fpu Sender: owner-smp@freebsd.org X-Loop: FreeBSD.org Precedence: bulk >> >It looks to me that the problem with the fpu stuff might be more a >> >function of FPU error handling (irq13 vs. IDT trap #16) rather than just >> >plain floating point operations... >> >> I agree, and think that someone could find it by examining what goes on >> in i386/isa/npx.c:mpxintr(). > >A further thought, its possible that it could be APIC_IO related, could >someone run this program on both an APIC_IO and non APIC_IO kernel >to see if it locks both (I don't have an SMP machine anymore)? > >> ======================================================================== >> #include >> #include >> void blech() { exit(3); } >> main() >> { >> int i32; >> double f; >> int result = 0; >> signal(SIGFPE, blech); >> >> f = (double) 0x7fffffff; >> f = 10 * f; >> i32 = (int) f; >> >> if (i32 != (int) f) >> result |= 1; >> exit(result); >> } >> ======================================================================== > >-- >Steve Passe | powered by >smp@csn.net | FreeBSD >The code runs fine with APIC_IO off, but locks the machine up quite nicely >with it on. I'm not sure what causes the problem yet... Hmm, since this is exactly the opposite of what I actually found out, I should probably go home and get some sleep before continuing this note, but in the interest of not creating more confusion: In fact, the code locks up the machine with or without APIC_IO on, but only if the second processor is activated. The reason that I'm bringing it up is that the fpu lockup symptoms are very similar to the lock up I've been experiencing with high interrupt rates; this problem only occurs with APIC_IO on (and smp_active = 2). If anyone's found any clues about the fpu problem that might offer some insight into this other problem please let me know. Cyrus From owner-freebsd-smp Wed Mar 26 10:51:53 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id KAA08427 for smp-outgoing; Wed, 26 Mar 1997 10:51:53 -0800 (PST) Received: from phaeton.artisoft.com (phaeton.Artisoft.COM [198.17.250.50]) by freefall.freebsd.org (8.8.5/8.8.5) with SMTP id KAA08418 for ; Wed, 26 Mar 1997 10:51:47 -0800 (PST) Received: (from terry@localhost) by phaeton.artisoft.com (8.6.11/8.6.9) id LAA28377; Wed, 26 Mar 1997 11:37:52 -0700 From: Terry Lambert Message-Id: <199703261837.LAA28377@phaeton.artisoft.com> Subject: Re: APIC_IO and the fpu To: cr@jcmax.com (Cyrus Rahman) Date: Wed, 26 Mar 1997 11:37:52 -0700 (MST) Cc: smp@FreeBSD.ORG In-Reply-To: <9703261059.AA21640@corona.jcmax.com> from "Cyrus Rahman" at Mar 26, 97 05:59:53 am X-Mailer: ELM [version 2.4 PL24] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-smp@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk > >> >It looks to me that the problem with the fpu stuff might be more a > >> >function of FPU error handling (irq13 vs. IDT trap #16) rather than just > >> >plain floating point operations... > >> > >> I agree, and think that someone could find it by examining what goes on > >> in i386/isa/npx.c:mpxintr(). > > > >A further thought, its possible that it could be APIC_IO related, could > >someone run this program on both an APIC_IO and non APIC_IO kernel > >to see if it locks both (I don't have an SMP machine anymore)? [ ... code ... ] > The code runs fine with APIC_IO off, but locks the machine up quite nicely > with it on. I'm not sure what causes the problem yet... The FPU stuff is broken. Since we do not use TSS, we should probably *explicitly* set CR0 bit 3 on a task switch, don't you think? Then when a WAIT or ESC instruction is hit, an exception 7 will be raised for: "The floating point unit is about to execute an instruction associated with another task and a task switch has occurred." Since we may have only two processes running FPU, it is possible with a lot of processes that the process that lazy caching will result in the cache state of the FPU on one processor not being the state for another and the task being resumed on the wrong processor and the exception therefore going to the wrong process (or worse, an error condition remaining cached but unflagged for the process that was switched out and is now running with no knowledge of the anticipated flagging on another processor). Probably we should explicitly flush FPU state unless we establish a CPU affinity for the process we aren't flushing? Regards, Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers. From owner-freebsd-smp Wed Mar 26 19:51:32 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id TAA00969 for smp-outgoing; Wed, 26 Mar 1997 19:51:32 -0800 (PST) Received: from duke.cs.duke.edu (duke.cs.duke.edu [152.3.140.1]) by freefall.freebsd.org (8.8.5/8.8.5) with ESMTP id TAA00953 for ; Wed, 26 Mar 1997 19:51:26 -0800 (PST) Received: from thunder.cs.duke.edu (thunder.cs.duke.edu [152.3.145.24]) by duke.cs.duke.edu (8.8.5/8.8.5) with ESMTP id WAA16730 for ; Wed, 26 Mar 1997 22:51:25 -0500 (EST) Received: (from gallatin@localhost) by thunder.cs.duke.edu (8.8.4/8.7.3) id WAA16946; Wed, 26 Mar 1997 22:51:24 -0500 (EST) Date: Wed, 26 Mar 1997 22:51:24 -0500 (EST) Message-Id: <199703270351.WAA16946@thunder.cs.duke.edu> From: Andrew Gallatin MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: freebsd-smp@freebsd.org Subject: mptable output for Intel Buckeye & some questions Sender: owner-smp@freebsd.org X-Loop: FreeBSD.org Precedence: bulk I've managed to get a hold of a dual processor Intel 'Buckeye' & have installed SMP FreeBSD on it (cvsupped last night). As the subject line states, I've appended mptable output. The kernel was built w/the exact options suggested in by mptable. On the first try, it panic'ed (APIC missing 8254 connection). After doing some digging in the archives, I uncommented these defines in src/sys/i386/include/smptests.h: #define FAKE_8254_NC #define IRQ_LO_NC #define IRQ_HI_NC and things seem to be running now. Before I forget, what's the best 'vintage' userland to run underneath this kernel? I assume -current just before the lite2 merge, but what was the date of that? Cheers, Drew ------------------------------------------------------------------------------ Duke University Email: gallatin@cs.duke.edu Department of Computer Science Phone: (919) 660-6590 =============================================================================== MPTable, version 2.0.6 looking for EBDA pointer @ 0x040e, found, searching EBDA @ 0x0009fc00 searching CMOS 'top of mem' @ 0x0009f800 (638K) searching default 'top of mem' @ 0x0009fc00 (639K) searching BIOS @ 0x000f0000 MP FPS found in BIOS @ physical addr: 0x000f81d0 ------------------------------------------------------------------------------- MP Floating Pointer Structure: location: BIOS physical address: 0x000f81d0 signature: '_MP_' length: 16 bytes version: 1.4 checksum: 0x30 mode: Virtual Wire ------------------------------------------------------------------------------- MP Config Table Header: physical address: 0x000f81e0 signature: 'PCMP' base table length: 252 version: 1.4 checksum: 0x03 OEM ID: 'INTEL ' Product ID: 'BUCKEYE ' OEM table pointer: 0x00000000 OEM table size: 0 entry count: 23 local APIC address: 0xfec08000 extended table length: 288 extended table checksum: 39 ------------------------------------------------------------------------------- MP Config Base Table Entries: -- Processors: APIC ID Version State Family Model Step Flags 0 0x11 BSP, usable 6 1 9 0xfbff 4 0x11 AP, usable 6 1 9 0xfbff -- Bus: Bus ID Type 0 PCI 1 PCI 18 ISA -- I/O APICs: APIC ID Version State Address 13 0x11 usable 0xfec00000 -- I/O Ints: Type Polarity Trigger Bus ID IRQ APIC ID INT# ExtINT active-hi edge 18 0 13 0 INT active-hi edge 18 1 13 1 INT active-hi edge 18 3 13 3 INT active-hi edge 18 4 13 4 INT active-hi edge 18 5 13 5 INT active-hi edge 18 6 13 6 INT active-hi edge 18 7 13 7 INT active-hi edge 18 8 13 8 INT active-hi edge 18 10 13 10 INT active-hi edge 18 12 13 12 INT active-hi edge 18 14 13 14 INT active-hi edge 18 15 13 15 INT active-lo level 1 11:A 13 19 INT active-lo level 1 10:A 13 18 INT active-lo level 1 5:A 13 17 -- Local Ints: Type Polarity Trigger Bus ID IRQ APIC ID INT# ExtINT active-hi edge 18 0 255 0 NMI active-hi edge 0 0:A 255 1 ------------------------------------------------------------------------------- MP Config Extended Table Entries: -- bus ID: 0 address type: memory address address base: 0xd4000 address range: 0x4000 -- bus ID: 0 address type: memory address address base: 0xd8000 address range: 0x4000 -- bus ID: 0 address type: memory address address base: 0xdc000 address range: 0x4000 -- bus ID: 0 address type: memory address address base: 0xe0000 address range: 0x4000 -- bus ID: 0 address type: memory address address base: 0xe4000 address range: 0x4000 -- bus ID: 0 address type: memory address address base: 0xa0000 address range: 0x20000 -- bus ID: 0 address type: memory address address base: 0xf00000 address range: 0x100000 -- bus ID: 0 address type: prefetch address address base: 0xf6800000 address range: 0x3200000 -- bus ID: 0 address type: memory address address base: 0xf9a00000 address range: 0x2600000 -- bus ID: 0 address type: I/O address address base: 0xd000 address range: 0x2000 -- bus ID: 0 address type: memory address address base: 0xa000000 address range: 0xec800000 -- bus ID: 0 address type: memory address address base: 0xfc000000 address range: 0x4000000 -- bus ID: 0 address type: I/O address address base: 0x0 address range: 0xd000 -- bus ID: 0 address type: I/O address address base: 0xf000 address range: 0x1000 -- bus ID: 18 bus info: 0x01 parent bus ID: 0 ------------------------------------------------------------------------------- # SMP kernel config file options: options SMP # Symmetric MultiProcessor Kernel options APIC_IO # Symmetric (APIC) I/O options NCPU=2 # number of CPUs options NBUS=3 # number of busses options NAPIC=1 # number of IO APICs options NINTR=24 # number of INTs options SMP_INVLTLB # #options SMP_PRIVPAGES # BROKEN, DO NOT use! #options SMP_AUTOSTART # BROKEN, DO NOT use! #options SERIAL_DEBUG # com port debug output ------------------------------------------------------------------------------- dmesg output: Copyright (c) 1992-1996 FreeBSD Inc. Copyright (c) 1982, 1986, 1989, 1991, 1993 The Regents of the University of California. All rights reserved. FreeBSD 3.0-SMP #1: Wed Mar 26 20:58:59 EST 1997 gallatin@volcano.cs.duke.edu:/usr/src/sys/compile/SMP FreeBSD/SMP: Multiprocessor motherboard cpu0 (BSP): apic id: 0, version: 0x00040011 cpu1 (AP): apic id: 4, version: 0x00040011 io0 (APIC): apic id: 13, version: 0x00170011 Calibrating clock(s) relative to mc146818A clock ... i8254 clock: 1193188 Hz CPU: Pentium Pro (686-class CPU) Origin = "GenuineIntel" Id = 0x619 Stepping=9 Features=0xfbff,MTRR,PGE,MCA,CMOV> real memory = 167772160 (163840K bytes) Physical memory hole(s): 0x00f00000 - 0x00ffffff, 1048576 bytes (256 pages) avail memory = 161226752 (157448K bytes) Probing for devices on PCI bus 0: chip0 rev 2 on pci0:0:0 chip1 rev 1 on pci0:18:0 chip2 rev 0 on pci0:18:1 chip3 rev 1 on pci0:20:0 Probing for devices on PCI bus 1: ahc0 rev 0 int a irq 17 on pci1:5:0 Freeing (NOT implimented) irq 11 for ISA cards. ahc0: Using left over BIOS settings ahc0: aic7880 Wide Channel, SCSI Id=7, 16 SCBs ahc0: waiting for scsi devices to settle scbus0 at ahc0 bus 0 sd0 at scbus0 target 0 lun 0 sd0: type 0 fixed SCSI 2 sd0: Direct-Access 4148MB (8496960 512 byte sectors) st0 at scbus0 target 4 lun 0 st0: type 1 removable SCSI 2 st0: Sequential-Access density code 0x13, drive empty cd0 at scbus0 target 5 lun 0 cd0: type 5 removable SCSI 2 cd0: CD-ROM cd present [400000 x 2048 byte records] uk0 at scbus0 target 6 lun 0 uk0: type 3 fixed SCSI 2 uk0: Unknown fxp0 rev 1 int a irq 18 on pci1:10:0 Freeing (NOT implimented) irq 9 for ISA cards. pci_map_mem failed: device's memrange 0xf98ff000-0xf98fffff is incompatible with its bridge's memrange 0xf9a00000-0xfbefffff fxp0: Ethernet address 00:a0:c9:06:93:9f vga0 rev 1 int a irq 19 on pci1:11:0 Freeing (NOT implimented) irq 11 for ISA cards. vga1 rev 34 on pci1:15:0 Probing for devices on the ISA bus: sc0 at 0x60-0x6f irq 1 on motherboard sc0: VGA color <16 virtual consoles, flags=0x0> sio0 not found at 0x3f8 sio1 not found at 0x2f8 lpt0 at 0x378-0x37f irq 7 on isa lpt0: Interrupt-driven port lp0: TCP/IP capable interface psm0 at 0x60-0x64 irq 12 on motherboard psm0: device ID 0, 3 buttons fdc0 at 0x3f0-0x3f7 irq 6 drq 2 on isa fdc0: NEC 72065B fd0: 1.44MB 3.5in scd0 not found at 0x230 npx0 on motherboard npx0: INT 16 interface apm0: disabled, not probed. APIC missing 8254 connection to continue... Enabled INTs: 0, 1, 6, 7, 8, 12, 17, 18, imen: 0x00f9ee3c SMP: All idle procs online. SMP: Starting 1st AP! SMP: AP CPU #1 LAUNCHED!! Starting Scheduling... SMP: TADA! CPU #1 made it into the scheduler!. SMP: All 2 CPU's are online! =============================================================================== From owner-freebsd-smp Wed Mar 26 20:14:23 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id UAA02141 for smp-outgoing; Wed, 26 Mar 1997 20:14:23 -0800 (PST) Received: from cs.utah.edu (cs.utah.edu [128.110.4.21]) by freefall.freebsd.org (8.8.5/8.8.5) with ESMTP id UAA02135 for ; Wed, 26 Mar 1997 20:14:19 -0800 (PST) Received: from fast.cs.utah.edu by cs.utah.edu (8.8.4/utah-2.21-cs) id VAA10794; Wed, 26 Mar 1997 21:14:02 -0700 (MST) Received: by fast.cs.utah.edu (8.6.10/utah-2.15-leaf) id VAA07660; Wed, 26 Mar 1997 21:13:58 -0700 Date: Wed, 26 Mar 1997 21:13:58 -0700 From: vanmaren@fast.cs.utah.edu (Kevin Van Maren) Message-Id: <199703270413.VAA07660@fast.cs.utah.edu> To: schluntz@pinpt.com, smp@csn.net Subject: Re: SMP and 3/486's Cc: freebsd-smp@freefall.freebsd.org Sender: owner-smp@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk > Hi, > > Does the SMP kernal in FreeBSD support systems with multiple 386's or 486's? > > I see a lot of talk about P5's and P6's but I have known about multi-processor > > systems using intel chips for a number of years, using 386's and 486's. > > no, 386/486 chips just can't do this sort of thing *efficiently*, > the P5/P6 were designed to do SMP. I'm not saying it couldn't be > done, just that it doesn't appear worth the effort to those involved... > Some of the first (then) large-scale multiprocessors were 386 based. Also, the APIC was designed for the i486, so it does work well. (Unfortunatly, it has been discontinued). I have access to a dual 486 made by VTECH -- apparently it runs Windows NT rather well. I won't argue that a dual 486 will do better, or even as well as, a dual Pentium, but it will do much better than a single 486. I have probe code for the dual 486 (not SMP compliant), but the startup code is a little more complicated for discrete APICs. The other problem is that (in this case), the three APICs are at different addresses (rather than just the two), and they share the same physical page. If you tell what processor you are on by using the APIC ID, then this won't work :( (I've just been too busy lately to play with it, or even FreeBSD on the dual Pro/200). Kevin From owner-freebsd-smp Wed Mar 26 22:11:27 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id WAA07616 for smp-outgoing; Wed, 26 Mar 1997 22:11:27 -0800 (PST) Received: from Ilsa.StevesCafe.com (sc-gw.StevesCafe.com [205.168.119.191]) by freefall.freebsd.org (8.8.5/8.8.5) with ESMTP id WAA07605 for ; Wed, 26 Mar 1997 22:11:22 -0800 (PST) Received: from localhost (localhost [127.0.0.1]) by Ilsa.StevesCafe.com (8.7.5/8.6.12) with SMTP id XAA03953; Wed, 26 Mar 1997 23:11:06 -0700 (MST) Message-Id: <199703270611.XAA03953@Ilsa.StevesCafe.com> X-Authentication-Warning: Ilsa.StevesCafe.com: Host localhost [127.0.0.1] didn't use HELO protocol X-Mailer: exmh version 1.6.5 12/11/95 From: Steve Passe To: Andrew Gallatin cc: freebsd-smp@freebsd.org Subject: Re: mptable output for Intel Buckeye & some questions In-reply-to: Your message of "Wed, 26 Mar 1997 22:51:24 EST." <199703270351.WAA16946@thunder.cs.duke.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Wed, 26 Mar 1997 23:11:06 -0700 Sender: owner-smp@freebsd.org X-Loop: FreeBSD.org Precedence: bulk Hi, Peter says: >Also, the SMP kernel was synchronised last to the 9-Feb kernel, right >before the import. So, getting a cvs tree from that date would be the >best match. > >eg: something like: >cvs -q update -Pd -D '02/09/97 00:00:00 GMT' > >Cheers, >-Peter -- Steve Passe | powered by smp@csn.net | Symmetric MultiProcessor FreeBSD From owner-freebsd-smp Thu Mar 27 09:38:07 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id JAA00249 for smp-outgoing; Thu, 27 Mar 1997 09:38:07 -0800 (PST) Received: from who.cdrom.com (who.cdrom.com [204.216.27.3]) by freefall.freebsd.org (8.8.5/8.8.5) with ESMTP id JAA00239 for ; Thu, 27 Mar 1997 09:38:03 -0800 (PST) Received: from Ilsa.StevesCafe.com (sc-gw.StevesCafe.com [205.168.119.191]) by who.cdrom.com (8.8.5/8.6.11) with ESMTP id JAA05125 for ; Thu, 27 Mar 1997 09:38:02 -0800 (PST) Received: from localhost (localhost [127.0.0.1]) by Ilsa.StevesCafe.com (8.7.5/8.6.12) with SMTP id KAA10825; Thu, 27 Mar 1997 10:36:34 -0700 (MST) Message-Id: <199703271736.KAA10825@Ilsa.StevesCafe.com> X-Authentication-Warning: Ilsa.StevesCafe.com: Host localhost [127.0.0.1] didn't use HELO protocol X-Mailer: exmh version 1.6.5 12/11/95 From: Steve Passe To: cr@jcmax.com (Cyrus Rahman) cc: freebsd-smp@FreeBSD.ORG Subject: Re: No luck, still! In-reply-to: Your message of "Thu, 27 Mar 1997 03:37:07 EST." <9703270837.AA18772@corona.jcmax.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Thu, 27 Mar 1997 10:36:34 -0700 Sender: owner-smp@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk Cyrus, original message: >>But there is a problem that occurs while I stream in lots of data from an >>SMC 100mbit ethernet card while the cpu's are busy. Namely, if I generate >>an interrupt from the ISA bus the system freezes up completely with some >>regularity. Moving the PS/2 mouse or using the sound card are both pretty >>good ways of doing this. >> >>The problem doesn't occur if I stream data in through the same SMC card at >>10mbit/sec, or (at least, not as often) if the cpu's aren't busy. >> >>The problem also doesn't occur with the UP kernel or if APIC_IO isn't >>enabled. latest status: > Tried setting up the com1 terminal for debugging - works till the system > locks up, then isn't useful. I also added a timer to hardclock, to cause a > panic - but it doesn't get called either while things are locked up, so the > system is locked up > splclock. > > At this point I'm sort of baffled. It would probably be easy to fix if I > could get a dump, but nothing seems to be cause one. > > I sort of wonder if it's not waiting in the same area, with interrupts off, > that it ends up when it receives a floating point exception. > > Cyrus --- I'm putting this back on freebsd-smp@FreeBSD.ORG to get a wider audience of potential help. --- I went back over your mailings and could find no specific mention of the date of your 3.0-current, so thats question one. --- Q #2 then becomes whether your goal is to get a stable SMP, or to get the most recent 3.0-current happy with SMP again. If your goal is just a stable SMP then you need to use -current as of the date of last sync: Peter says: >Also, the SMP kernel was synchronised last to the 9-Feb kernel, right >before the import. So, getting a cvs tree from that date would be the >best match. > >eg: something like: >cvs -q update -Pd -D '02/09/97 00:00:00 GMT' > >Cheers, >-Peter -- Steve Passe | powered by smp@csn.net | Symmetric MultiProcessor FreeBSD From owner-freebsd-smp Fri Mar 28 08:11:53 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id IAA17731 for smp-outgoing; Fri, 28 Mar 1997 08:11:53 -0800 (PST) Received: from volitans.MorningStar.Com (volitans.MorningStar.Com [137.175.2.11]) by freefall.freebsd.org (8.8.5/8.8.5) with ESMTP id IAA17726 for ; Fri, 28 Mar 1997 08:11:49 -0800 (PST) Received: from bass.morningstar.com by volitans.MorningStar.Com (8.7.1/95070701) id LAA04975; Fri, 28 Mar 1997 11:11:41 -0500 (EST) Received: by bass.morningstar.com (8.8.5/95031605) id LAA05971; Fri, 28 Mar 1997 11:11:41 -0500 (EST) Date: Fri, 28 Mar 1997 11:11:41 -0500 (EST) Message-Id: <199703281611.LAA05971@bass.morningstar.com> From: Laine Stump To: freebsd-smp@freebsd.org Cc: laine@MorningStar.Com Subject: Intel Providence Motherboard Reply-To: laine@MorningStar.Com (Laine Stump) Sender: owner-smp@freebsd.org X-Loop: FreeBSD.org Precedence: bulk Does (should) the Intel Providence dual P6 motherboard work with the FreeBSD SMP kernel? I looked at: http://www.freebsd.org/~fsmp/SMP/hardware.html but it only mentions some board called the Intel "XXPRESS". I think someone here just ordered 4 of these boards; will they work with FreeBSD SMP? (They otherwise seem to be a great deal - 2940UW-equiv SCSI controller (7880), 10/100 ethernet, SoundBlaster-equiv, plus all the normal I/O for $579. Just the "extras" would cost $450 if you bought them separately) (I'm not on the mailing list, so please leave my address in the reply). Also, has anybody tried the SuperMicro P6-DNE yet? Laine Stump From owner-freebsd-smp Fri Mar 28 09:14:42 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id JAA21468 for smp-outgoing; Fri, 28 Mar 1997 09:14:42 -0800 (PST) Received: from Ilsa.StevesCafe.com (sc-gw.StevesCafe.com [205.168.119.191]) by freefall.freebsd.org (8.8.5/8.8.5) with ESMTP id JAA21457 for ; Fri, 28 Mar 1997 09:14:30 -0800 (PST) Received: from localhost (localhost [127.0.0.1]) by Ilsa.StevesCafe.com (8.7.5/8.6.12) with SMTP id KAA25923; Fri, 28 Mar 1997 10:14:22 -0700 (MST) Message-Id: <199703281714.KAA25923@Ilsa.StevesCafe.com> X-Authentication-Warning: Ilsa.StevesCafe.com: Host localhost [127.0.0.1] didn't use HELO protocol X-Mailer: exmh version 1.6.5 12/11/95 From: Steve Passe To: cr@jcmax.com (Cyrus Rahman) cc: freebsd-smp@freefall.freebsd.org Subject: SMP_PROBLEM: Floating point exceptions In-reply-to: Your message of "Fri, 28 Mar 1997 05:32:01 EST." <9703281032.AA22682@corona.jcmax.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Fri, 28 Mar 1997 10:14:22 -0700 Sender: owner-smp@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk Hi, SMP_PROBLEM: Floating point exceptions: cr@jcmax.com (Cyrus Rahman) appears to have found the cause of the FPE lockup: > The reason floating point exceptions lock up the kernel is that rel_mplock > is called by doreti during the exception processing, but get_mplock isn't, > so the lock count goes to -2 and then things stop. > > Unless I'm missing something it seems pretty likely that a lock should be > obtained anyway by the fpu trap routine before attempting to deliver > the SIGFPE: > > *** exception.s.dist Sat Mar 1 06:54:49 1997 > --- exception.s Fri Mar 28 04:13:03 1997 > *************** > *** 140,145 **** > --- 140,148 ---- > movl _cpl,%eax > pushl %eax > pushl $0 /* dummy unit to finish building intr frame */ > + #ifdef SMP > + call _get_mplock > + #endif /* SMP */ > incl _cnt+V_TRAP > orl $SWI_AST_MASK,%eax > movl %eax,_cpl > > Certainly this fixes the problem - but is there a reason why the lock wasn't > obtained in the original code? to err is human... > That brings me to the other problem, which is that the reason I'm getting > APIC_IO lockups is that under heavy load the counter gets set to 2 and stays > there. Perhaps this is a result of nested interrupts - I don't know yet. > If you have any ideas, please let me know. > > Cyrus thanx, cyrus! since I don't have a working system right now, could someone confirm the fix in their environment? When I hear back that it works without side-effects I'll commit it. -- Steve Passe | powered by smp@csn.net | Symmetric MultiProcessor FreeBSD From owner-freebsd-smp Fri Mar 28 13:38:56 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id NAA05602 for smp-outgoing; Fri, 28 Mar 1997 13:38:56 -0800 (PST) Received: (from fsmp@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id NAA05593 for freebsd-smp; Fri, 28 Mar 1997 13:38:55 -0800 (PST) Date: Fri, 28 Mar 1997 13:38:55 -0800 (PST) From: Steve Passe Message-Id: <199703282138.NAA05593@freefall.freebsd.org> To: freebsd-smp Subject: cvs commit: sys/i386/i386 exception.s Sender: owner-smp@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk fsmp 97/03/28 13:38:54 Modified: i386/i386 exception.s Log: Fixed the system freeze caused by FPEs. The reason floating point exceptions lock up the kernel is that rel_mplock is called by doreti during the exception processing, but get_mplock isn't, so the lock count goes to -2 and then things stop. Submitted by: cr@jcmax.com (Cyrus Rahman) Revision Changes Path 1.12 +3 -0 sys/i386/i386/exception.s From owner-freebsd-smp Fri Mar 28 13:42:22 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id NAA05848 for smp-outgoing; Fri, 28 Mar 1997 13:42:22 -0800 (PST) Received: from Ilsa.StevesCafe.com (sc-gw.StevesCafe.com [205.168.119.191]) by freefall.freebsd.org (8.8.5/8.8.5) with ESMTP id NAA05843 for ; Fri, 28 Mar 1997 13:42:17 -0800 (PST) Received: from localhost (localhost [127.0.0.1]) by Ilsa.StevesCafe.com (8.7.5/8.6.12) with SMTP id OAA28722; Fri, 28 Mar 1997 14:41:55 -0700 (MST) Message-Id: <199703282141.OAA28722@Ilsa.StevesCafe.com> X-Authentication-Warning: Ilsa.StevesCafe.com: Host localhost [127.0.0.1] didn't use HELO protocol X-Mailer: exmh version 1.6.5 12/11/95 From: Steve Passe To: Andrew Gallatin cc: cr@jcmax.com, freebsd-smp@freefall.freebsd.org Subject: Re: SMP_PROBLEM: Floating point exceptions In-reply-to: Your message of "Fri, 28 Mar 1997 13:35:33 EST." <199703281835.NAA18320@thunder.cs.duke.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Fri, 28 Mar 1997 14:41:55 -0700 Sender: owner-smp@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk Hi, the FPE fix has been confirmed and committed to freefall. thanx again, Cyrus! -- Steve Passe | powered by smp@csn.net | Symmetric MultiProcessor FreeBSD