From owner-freebsd-smp Tue Oct 22 19:29:17 2002 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 4723137B401 for ; Tue, 22 Oct 2002 19:29:10 -0700 (PDT) Received: from brodie.zefram.net (dsl092-065-196.bos1.dsl.speakeasy.net [66.92.65.196]) by mx1.FreeBSD.org (Postfix) with SMTP id 259F743E65 for ; Tue, 22 Oct 2002 19:29:09 -0700 (PDT) (envelope-from zefram@zefram.net) Received: (qmail 29973 invoked by uid 1000); 23 Oct 2002 02:28:54 -0000 Received: from localhost (sendmail-bs@127.0.0.1) by localhost with SMTP; 23 Oct 2002 02:28:54 -0000 Date: Tue, 22 Oct 2002 22:28:54 -0400 (EDT) From: John Gillis To: FreeBSD-SMP@FreeBSD.org Subject: Compaq Proliant DL580 Message-ID: <20021022221533.A28477-100000@brodie.zefram.net> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-smp@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org I wrote in a week or two ago about hanging problems with the FreeBSD 4.7 kernel on SMP boot of a dual Xeon 700 2MB cache, but receieved no responses. I decided to try out the new SMPng, and I got excited when mptable didn't report my extended tables hosed... but the boot still failed. After putting some debugging information in both kernels, I found the place where the hang occurs, whether this helps or not. In both kernels, it is in the same place: It fails in the function start_ap, specifically line 2146 of sys/i386/i386/mp_machdep.c A while loop is entered, and apparently the condition never changes from true. Here are the lines up to the problem area, which is designated with a star. ----------------------------- /* do an INIT IPI: assert RESET */ icr_lo = lapic.icr_lo & 0xfff00000; lapic.icr_lo = icr_lo | 0x0000c500; /* wait for pending status end */ * while (lapic.icr_lo & APIC_DELSTAT_MASK) /* spin */ ; ----------------------------- If there's anything I can do to help out diagnose this problem, I want to. I want to make sure this works for the good of FreeBSD and for my own. Right now my partner is trying to convince me to switch to Redhat, on which this platform works 100%. Anything I can do to help or further diagnose, please contact me. I've included my mptables output and also the dmesg from the booting uniprocessor kernel (SMP doesn't get far enough to mount the hard drives). Thanks, John ----------------------------- MPTable's output: =============================================================================== MPTable, version 2.0.15 ------------------------------------------------------------------------------- MP Floating Pointer Structure: location: BIOS physical address: 0x000f4fd0 signature: '_MP_' length: 16 bytes version: 1.4 checksum: 0x00 mode: Virtual Wire ------------------------------------------------------------------------------- MP Config Table Header: physical address: 0x000f2f1e signature: 'PCMP' base table length: 492 version: 1.4 checksum: 0xd0 OEM ID: 'COMPAQ ' Product ID: 'PROLIANT ' OEM table pointer: 0x00000000 OEM table size: 0 entry count: 53 local APIC address: 0xfee00000 extended table length: 172 extended table checksum: 241 ------------------------------------------------------------------------------- MP Config Base Table Entries: -- Processors: APIC ID Version State Family Model Step Flags 0 0x10 BSP, usable 6 2 1 0x0381 2 0x10 AP, usable 6 10 1 0x383fbff -- Bus: Bus ID Type 0 PCI 1 PCI 2 PCI 15 ISA -- I/O APICs: APIC ID Version State Address 8 0x11 usable 0xfec00000 -- I/O Ints: Type Polarity Trigger Bus ID IRQ APIC ID PIN# INT active-lo level 1 6:A 8 16 INT active-lo level 1 6:B 8 17 INT active-lo level 1 6:C 8 16 INT active-lo level 1 6:D 8 17 INT active-lo level 1 8:A 8 18 INT active-lo level 1 8:B 8 19 INT active-lo level 1 8:C 8 18 INT active-lo level 1 8:D 8 19 INT active-lo level 1 9:A 8 20 INT active-lo level 1 9:B 8 21 INT active-lo level 1 9:C 8 20 INT active-lo level 1 9:D 8 21 INT active-lo level 1 5:A 8 30 INT active-lo level 2 5:A 8 30 INT active-lo level 2 6:A 8 22 INT active-lo level 2 6:B 8 23 INT active-lo level 2 6:C 8 22 INT active-lo level 2 6:D 8 23 INT active-lo level 2 7:A 8 24 INT active-lo level 2 7:B 8 25 INT active-lo level 2 7:C 8 24 INT active-lo level 2 7:D 8 25 INT active-lo level 0 7:A 8 26 INT active-lo level 0 7:B 8 27 INT active-lo level 0 7:C 8 26 INT active-lo level 0 7:D 8 27 INT active-lo level 0 4:A 8 29 INT active-lo level 0 4:B 8 28 INT active-hi edge 15 1 8 1 INT active-hi edge 15 0 8 2 INT active-hi edge 15 3 8 3 INT active-hi edge 15 4 8 4 INT active-hi edge 15 5 8 5 INT active-hi edge 15 6 8 6 INT active-hi edge 15 7 8 7 INT active-hi edge 15 8 8 8 INT active-hi edge 15 9 8 9 INT active-hi edge 15 10 8 10 INT active-hi edge 15 11 8 11 INT active-hi edge 15 12 8 12 INT active-lo level 15 13 8 13 INT active-hi edge 15 14 8 14 INT active-hi edge 15 15 8 15 -- Local Ints: Type Polarity Trigger Bus ID IRQ APIC ID PIN# ExtINT conforms conforms 15 0 255 0 NMI conforms conforms 15 0 255 1 -- MPTABLE OUT OF ORDER! I/O Ints: Type Polarity Trigger Bus ID IRQ APIC ID PIN# ExtINT conforms conforms 15 0 8 0 ------------------------------------------------------------------------------- MP Config Extended Table Entries: -- System Address Space bus ID: 0 address type: I/O address address base: 0x0 address range: 0x2810 -- System Address Space bus ID: 0 address type: memory address address base: 0xf3000000 address range: 0x4a00000 -- System Address Space bus ID: 1 address type: I/O address address base: 0x0 address range: 0x0 -- System Address Space bus ID: 1 address type: memory address address base: 0xf7a00000 address range: 0x100000 -- System Address Space bus ID: 2 address type: I/O address address base: 0x3000 address range: 0x1000 -- System Address Space bus ID: 2 address type: memory address address base: 0xf7b00000 address range: 0x500000 -- System Address Space bus ID: 0 address type: memory address address base: 0xa0000 address range: 0x60000 -- Bus Heirarchy bus ID: 15 bus info: 0x01 parent bus ID: 0 -- Compatibility Bus Address bus ID: 0 address modifier: add predefined range: 0x00000000 -- Compatibility Bus Address bus ID: 1 address modifier: subtract predefined range: 0x00000000 -- Compatibility Bus Address bus ID: 2 address modifier: subtract predefined range: 0x00000000 =============================================================================== dmesg uniprocessor output: Copyright (c) 1992-2002 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD 5.0-DP1 #0: Sun Apr 7 02:51:42 GMT 2002 murray@builder.freebsdmall.com:/usr/src/sys/i386/compile/GENERIC Preloaded elf kernel "/boot/GENERIC/kernel" at 0xc053e000. Preloaded elf module "/boot/kernel/acpi.ko" at 0xc053e0ac. Timecounter "i8254" frequency 1193182 Hz Timecounter "TSC" frequency 701596679 Hz CPU: Pentium III/Pentium III Xeon/Celeron (701.60-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0x6a1 Stepping = 1 Features=0x383f9ff real memory = 536854528 (524272K bytes) avail memory = 516558848 (504452K bytes) Pentium Pro MTRR support enabled npx0: on motherboard npx0: INT 16 interface acpi0: on motherboard ACPI-0458: *** Error: GPE0 block overlaps the GPE1 block acpi0: could not enable ACPI: AE_BAD_VALUE device_probe_and_attach: acpi0 attach returned 6 pcib2: at pcibus 2 on motherboard pci2: on pcib2 pci2: at device 5.0 (no driver attached) pcib0: at pcibus 0 on motherboard pci0: on pcib0 pci0: at device 3.0 (no driver attached) ida0: port 0x2000-0x20ff mem 0xf5000000-0xf5ffffff,0xf6000000-0xf6ffffff irq 3 at device 4.0 on pci0 ida0: drives=3 firm_rev=1.42 idad0: on ida0 idad0: 4087MB (8372160 sectors), blocksize=512 idad1: on ida0 idad1: 2040MB (4177920 sectors), blocksize=512 idad2: on ida0 idad2: 996MB (2040000 sectors), blocksize=512 pci0: at device 5.0 (no driver attached) isab0: port 0-0xf at device 15.0 on pci0 isa0: on isab0 atapci0: port 0x2800-0x280f at device 15.1 on pci0 ata0: at 0x1f0 irq 14 on atapci0 ata1: at 0x170 irq 15 on atapci0 pcib7: at pcibus 7 on motherboard pci7: on pcib7 pci7: at device 5.0 (no driver attached) pcib1: at device 7.0 on pci7 pci1: on pcib1 fxp0: port 0x3000-0x303f mem 0xf7e00000-0xf7efffff,0xf7ff0000-0xf7ff0fff irq 10 at device 4.0 on pci1 fxp0: Ethernet address 00:02:a5:13:15:04 inphy0: on miibus0 inphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto fxp1: port 0x3040-0x307f mem 0xf7c00000-0xf7cfffff,0xf7df0000-0xf7df0fff irq 11 at device 5.0 on pci1 fxp1: Ethernet address 00:02:a5:13:15:05 inphy1: on miibus1 inphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto eisa0: on motherboard mainboard0: on eisa0 slot 0 orm0: