From owner-freebsd-bugs Mon Dec 3 11:30:19 2001 Delivered-To: freebsd-bugs@hub.freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id F197137B417 for ; Mon, 3 Dec 2001 11:30:00 -0800 (PST) Received: (from gnats@localhost) by freefall.freebsd.org (8.11.6/8.11.6) id fB3JU0w34101; Mon, 3 Dec 2001 11:30:00 -0800 (PST) (envelope-from gnats) Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 1382B37B433 for ; Mon, 3 Dec 2001 11:24:59 -0800 (PST) Received: (from nobody@localhost) by freefall.freebsd.org (8.11.6/8.11.6) id fB3JOxT32748; Mon, 3 Dec 2001 11:24:59 -0800 (PST) (envelope-from nobody) Message-Id: <200112031924.fB3JOxT32748@freefall.freebsd.org> Date: Mon, 3 Dec 2001 11:24:59 -0800 (PST) From: Greg Whynott To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-1.0 Subject: kern/32478: scsi/NIC drivers fail when using SMP kernel Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org >Number: 32478 >Category: kern >Synopsis: scsi/NIC drivers fail when using SMP kernel >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Mon Dec 03 11:30:00 PST 2001 >Closed-Date: >Last-Modified: >Originator: Greg Whynott >Release: 4.4RELEASE >Organization: Alias|Wavefront >Environment: sorry n/a. please see dmesg output. >Description: everything works as expected with UP kernel pci option card drivers fail when using SMP kernel(excluding video). Here is the letter I sent to freebsd-bugs that covers the description of the problem: Includes dmesg and mptable output at bottom. Hello- My intel (fxp) NIC drivers usually do not work when I have enabled a SMP kernel. Is this a known problem with SMP kernels and device drivers in the 4.X RELEASE line? If you don't care to read the background please skip to _EOB_ Few years ago I installed FreeBSD 4.2 RELEASE. At the time I had a 2940UW optio n card attached to a SCSI hard disk device used as my root fs device. The main board has two PPRO 200 I686 type CPUs. After hand crafting a new kernel and boo ting with it I would see SCSI bus time outs as the system came up eventually the system would reboot after awhile but prior to mounting the root fs. ( I submit ted a bug about this to the freebsd bug report page ) Thinking it was perhaps a driver having issues with SMP in this particular release I went back to not run ning symmetrical processors, all was good. Now a few years later I have a desire to have both CPU's running. I downloaded 4.4 RELEASE thinking what issue may have been in the past RELEASE would be corre cted. This in not the case. Same 'time out' errors. Now I tried a several t hings to resolve this that I'll lightly touch on so not to make this letter into a book.. : Replaced the 2940UW with an old 2940, no diff : replaced 2940 with a 2940-160 (brand new), no diff. (tried cards in different slots as well) Remov ed SCSI subsystem altogether, replaced with IDE drive. It boots! Happiness is short lived. Now my screen fills up with "fxpX timed out." error s. I have one dual and one single Intel epro NIC card. Placing these cards in diff erent slots changes nothing. Putting in another dual epro card (for a total of 5 ethernet ports) changes things. One of the ports on the Dual cards comes up, as does the port on the single port NIC card, the other 3 do not, 'fxpX time out' errors continue. Going back to single CPU kernel allows me to have all 5 ports up and up (3 cards ) and also allows me to use any 2 SCSI cards at once. The only difference in th e kernel conf is the two SMP lines. _EOB_ Here is the output of mptable and dmesg while booted from both SMP and UP kernel s. The only difference in the kernel config files is the inclusion or exclusion of the two SMP lines. =============================================================================== MPTable, version 2.0.15 ------------------------------------------------------------------------------- MP Floating Pointer Structure: location: BIOS physical address: 0x000f0920 signature: '_MP_' length: 16 bytes version: 1.1 checksum: 0x57 mode: Virtual Wire ------------------------------------------------------------------------------- MP Config Table Header: physical address: 0x000f0934 signature: 'PCMP' base table length: 292 version: 1.1 checksum: 0xaf OEM ID: 'OEM00000' Product ID: 'PROD00000000' OEM table pointer: 0x00000000 OEM table size: 0 entry count: 28 local APIC address: 0xfee00000 extended table length: 0 extended table checksum: 0 ------------------------------------------------------------------------------- MP Config Base Table Entries: -- Processors: APIC ID Version State Family Model Step Flags 1 0x11 BSP, usable 6 1 7 0xfbff 0 0x11 AP, usable 6 1 7 0xfbff -- Bus: Bus ID Type 0 ISA 1 PCI -- I/O APICs: APIC ID Version State Address 2 0x11 usable 0xfec00000 -- I/O Ints: Type Polarity Trigger Bus ID IRQ APIC ID PIN# ExtINT conforms conforms 0 0 2 0 INT conforms conforms 0 1 2 1 INT conforms conforms 0 0 2 2 INT conforms conforms 0 3 2 3 INT conforms conforms 0 4 2 4 INT conforms conforms 0 5 2 5 INT conforms conforms 0 6 2 6 INT conforms conforms 0 7 2 7 INT conforms conforms 0 8 2 8 INT conforms conforms 0 9 2 9 INT conforms conforms 0 10 2 10 INT conforms conforms 0 11 2 11 INT conforms conforms 0 12 2 12 INT conforms conforms 0 13 2 13 INT conforms conforms 0 14 2 14 INT conforms conforms 0 15 2 15 INT active-lo level 1 14:A 2 16 INT active-lo level 1 13:A 2 17 INT active-lo level 1 12:A 2 18 INT active-lo level 1 11:A 2 19 SMI conforms conforms 0 0 2 23 -- Local Ints: Type Polarity Trigger Bus ID IRQ APIC ID PIN# ExtINT active-hi edge 0 0 255 0 NMI active-hi edge 0 0 255 1 =============================================================================== Copyright (c) 1992-2001 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 4.4-RELEASE #0: Sun Dec 2 21:17:33 EST 2001 root@vortex.fqdn.com:/usr/src/sys/compile/VORTEX-FW Timecounter "i8254" frequency 1193182 Hz CPU: Pentium Pro (198.95-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0x617 Stepping = 7 Features=0xfbff real memory = 201326592 (196608K bytes) avail memory = 192311296 (187804K bytes) Changing APIC ID for IO APIC #0 from 0 to 2 on chip Programming 24 pins in IOAPIC #0 IOAPIC #0 intpin 2 -> irq 0 FreeBSD/SMP: Multiprocessor motherboard cpu0 (BSP): apic id: 1, version: 0x00040011, at 0xfee00000 cpu1 (AP): apic id: 0, version: 0x00040011, at 0xfee00000 io0 (APIC): apic id: 2, version: 0x00170011, at 0xfec00000 Preloaded elf kernel "kernel" at 0xc0369000. Pentium Pro MTRR support enabled md0: Malloc disk npx0: on motherboard npx0: INT 16 interface pcib0: on motherboard IOAPIC #0 intpin 17 -> irq 2 pci0: on pcib0 isab0: at device 7.0 on pci0 isa0: on isab0 atapci0: port 0xf000-0xf00f at device 7.1 on pci0 ata0: at 0x1f0 irq 14 on atapci0 pcib1: at device 10.0 on pci0 pci1: on pcib1 fxp0: port 0xe000-0xe01f mem 0xd0000000-0xd00fffff,0xdf000000-0xdf000fff irq 11 at device 4.0 on pci1 fxp0: Ethernet address 00:90:27:3a:ae:96 inphy0: on miibus0 inphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto fxp1: port 0xe100-0xe11f mem 0xd0100000-0xd01fffff,0xdf001000-0xdf001fff irq 15 at device 5.0 on pci1 fxp1: Ethernet address 00:90:27:3a:ae:97 inphy1: on miibus1 inphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto pci0: at 13.0 irq 2 orm0: