From nobody@FreeBSD.org Thu Mar 30 07:59:37 2000 Return-Path: Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (Postfix) with ESMTP id 687D737B6E2 for ; Thu, 30 Mar 2000 07:59:37 -0800 (PST) (envelope-from nobody@FreeBSD.org) Received: (from nobody@localhost) by freefall.freebsd.org (8.9.3/8.9.2) id HAA28423; Thu, 30 Mar 2000 07:59:37 -0800 (PST) (envelope-from nobody@FreeBSD.org) Message-Id: <200003301559.HAA28423@freefall.freebsd.org> Date: Thu, 30 Mar 2000 07:59:37 -0800 (PST) From: M.Indlekofer@fz-juelich.de Sender: nobody@FreeBSD.org To: freebsd-gnats-submit@FreeBSD.org Subject: SCSI hangs on SMP kernel (4.0-RELEASE) X-Send-Pr-Version: www-1.0 >Number: 17690 >Category: i386 >Synopsis: SCSI hangs on SMP kernel (4.0-RELEASE) >Confidential: no >Severity: critical >Priority: high >Responsible: freebsd-bugs >State: closed >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Thu Mar 30 08:00:01 PST 2000 >Closed-Date: Fri Mar 31 07:51:18 PST 2000 >Last-Modified: Fri Mar 31 07:51:53 PST 2000 >Originator: Michael Indlekofer >Release: 4.0-RELEASE >Organization: Forschungszentrum Juelich GmbH, Germany >Environment: FreeBSD deanna.isi.kfa-juelich.de 4.0-RELEASE FreeBSD 4.0-RELEASE #3: Thu Mar 30 15:50:03 CEST 2000 root@deanna.isi.kfa-juelich.de:/usr/src/sys/compile/MYKERNEL.3 i386 >Description: SMP kernel (4.0-RELEASE) on dual PentiumII system hangs in SCSI probe phase at boot time. Infinite loop of SCSI bus resets (probeX:ahc0:0:X:0 SCB ... timeout...). Non-SMP kernel (4.0-RELEASE) works. SMP kernel (3.1-RELEASE) worked without problems. Hardware: Dual PentiumII 450MHz (ASUS P2B-DS mainboard) Adaptec aic7890/91 Ultra2 SCSI adapter on board >How-To-Repeat: e.g. /sys/i386/conf/GENERIC SMP activated kernel: remove cpu I386_CPU and cpu I486_CPU, enable options SMP and options APIC_IO >Fix: >Release-Note: >Audit-Trail: From: "Kenneth D. Merry" To: M.Indlekofer@fz-juelich.de Cc: freebsd-gnats-submit@FreeBSD.ORG Subject: Re: i386/17690: SCSI hangs on SMP kernel (4.0-RELEASE) Date: Thu, 30 Mar 2000 16:43:32 -0700 On Thu, Mar 30, 2000 at 07:59:37 -0800, M.Indlekofer@fz-juelich.de wrote: > FreeBSD deanna.isi.kfa-juelich.de 4.0-RELEASE FreeBSD 4.0-RELEASE #3: Thu Mar 30 15:50:03 CEST 2000 root@deanna.isi.kfa-juelich.de:/usr/src/sys/compile/MYKERNEL.3 i386 > >Description: > SMP kernel (4.0-RELEASE) on dual PentiumII system > hangs in SCSI probe phase at boot time. > Infinite loop of SCSI bus resets (probeX:ahc0:0:X:0 SCB ... timeout...). > Non-SMP kernel (4.0-RELEASE) works. > SMP kernel (3.1-RELEASE) worked without problems. > Hardware: > Dual PentiumII 450MHz (ASUS P2B-DS mainboard) > Adaptec aic7890/91 Ultra2 SCSI adapter on board > > >How-To-Repeat: > e.g. /sys/i386/conf/GENERIC SMP activated kernel: > remove cpu I386_CPU and cpu I486_CPU, > enable options SMP and options APIC_IO I doubt I can really help you solve the problem, but I would suggest that you include the dmesg from a 'boot -v' from your uniprocessor 4.0 configuration, as well as the output of 'mptable -dmesg -verbose'. Those diagnostics may help someone find your problem. Make sure you CC to the mail to freebsd-gnats-submit@FreeBSD.ORG so that it will go into the GNATS database. Thanks, Ken -- Kenneth Merry ken@kdm.org From: Klaus Michael Indlekofer To: "Kenneth D. Merry" Cc: freebsd-gnats-submit@FreeBSD.ORG, M.Indlekofer@fz-juelich.de Subject: Re: i386/17690: SCSI hangs on SMP kernel (4.0-RELEASE) Date: Fri, 31 Mar 2000 10:35:32 +0200 Booting SMP (4.0) kernel (written down from screen): ... APIC_IO: Testing 8254 interrupt delivery APIC_IO: routing 8254 via IOAPIC #0 intpin 2 Waiting 15 seconds for SCSI devices to settle SMP: AP CPU #1 Launched! ...approx 20 seconds... (probe0:ahc0:0:0:0): SCB 0xe - timed out in Message-in phase, SEQADDR == 0x167 (probe0:ahc0:0:0:0): BDR message in message buffer (probe0:ahc0:0:0:0): SCB 0xe - timed out in Message-in phase, SEQADDR == 0x167 (probe0:ahc0:0:0:0): no longer in timeout, status = 34b ahc0: Issued Channel A Bus Reset, 15 SCBs aborted Timeout SCB handled by another timout ...infinite loop: probeX (X=0, 3, 1 ,6 ,9 ,...) part above repeated approx. every 20 seconds... 'mptable -dmesg -verbose' on uniprocessor kernel (4.0) provides: =============================================================================== MPTable, version 2.0.15 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: 0x000f6dd0 ------------------------------------------------------------------------------- MP Floating Pointer Structure: location: BIOS physical address: 0x000f6dd0 signature: '_MP_' length: 16 bytes version: 1.1 checksum: 0x65 mode: Virtual Wire ------------------------------------------------------------------------------- MP Config Table Header: physical address: 0x000f69c6 signature: 'PCMP' base table length: 260 version: 1.1 checksum: 0x36 OEM ID: 'OEM00000' Product ID: 'PROD00000000' OEM table pointer: 0x00000000 OEM table size: 0 entry count: 24 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 5 2 0x183fb ff 0 0x11 AP, usable 6 5 2 0x183fb ff -- Bus: Bus ID Type 0 PCI 1 PCI 2 ISA -- 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 2 0 2 0 INT conforms conforms 2 1 2 1 INT conforms conforms 2 0 2 2 INT conforms conforms 2 3 2 3 INT conforms conforms 2 4 2 4 INT conforms conforms 2 5 2 5 INT conforms conforms 2 6 2 6 INT conforms conforms 2 7 2 7 INT conforms conforms 2 8 2 8 INT conforms conforms 2 10 2 10 INT conforms conforms 2 12 2 12 INT conforms conforms 2 14 2 14 INT conforms conforms 2 15 2 15 INT active-lo level 2 11 2 16 INT active-lo level 2 9 2 17 INT active-lo level 2 9 2 19 -- Local Ints: Type Polarity Trigger Bus ID IRQ APIC ID PIN# ExtINT active-hi edge 2 0 255 0 NMI active-hi edge 2 0 255 1 ------------------------------------------------------------------------------- # SMP kernel config file options: # Required: options SMP # Symmetric MultiProcessor Kernel options APIC_IO # Symmetric (APIC) I/O # Optional (built-in defaults will work in most cases): #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 ------------------------------------------------------------------------------- dmesg output: Copyright (c) 1992-2000 The FreeBSD Project. Copyright (c) 1982, 1986, 1989, 1991, 1993 The Regents of the University of California. All rights reserved. FreeBSD 4.0-RELEASE #3: Thu Mar 30 15:50:03 CEST 2000 root@deanna.isi.kfa-juelich.de:/usr/src/sys/compile/MYKERNEL.3 Timecounter "i8254" frequency 1193182 Hz CPU: Pentium II/Pentium II Xeon/Celeron (451.02-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0x652 Stepping = 2 Features=0x183fbff real memory = 268423168 (262132K bytes) config> di sn0 config> di lnc0 :config> di le0 config> di ie0 config> di fe0 config> di ed0 config> di cs0 config> di bt0 config> di ata1 config> di ata0 config> di aic0 config> di aha0 config> di adv0 config> en npx0 config> po npx0 0xf0 config> ir npx0 13 config> f npx0 0 config> q avail memory = 256315392 (250308K bytes) Preloaded elf kernel "kernel" at 0xc03f3000. Preloaded userconfig_script "/boot/kernel.conf" at 0xc03f309c. Pentium Pro MTRR support enabled md0: Malloc disk npx0: on motherboard npx0: INT 16 interface pcib0: on motherboard pci0: on pcib0 pcib1: at device 1.0 on pci0 pci1: on pcib1 pci1: at 0.0 irq 11 isab0: at device 4.0 on pci0 isa0: on isab0 atapci0: port 0xd800-0xd80f at device 4.1 on pci0 pci0: at 4.2 irq 9 chip1: port 0xe800-0xe80f at device 4.3 on pci0 ahc0: port 0xd000-0xd0ff mem 0xe1800000 -0xe1800fff irq 9 at device 6.0 on pci0 ahc0: aic7890/91 Wide Channel A, SCSI Id=7, 16/255 SCBs xl0: <3Com 3c900B-COMBO Etherlink XL> port 0xb800-0xb87f mem 0xe1000000-0xe10000 7f irq 9 at device 11.0 on pci0 xl0: Ethernet address: 00:50:04:2e:e3:8d xl0: selecting 10baseT transceiver, half duplex xl0: supplying EUI64: 00:50:04:ff:fe:2e:e3:8d fdc0: at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0 fdc0: FIFO enabled, 8 bytes threshold fd0: <1440-KB 3.5" drive> on fdc0 drive 0 atkbdc0: at port 0x60-0x6f on isa0 atkbd0: irq 1 on atkbdc0 psm0: irq 12 on atkbdc0 psm0: model Generic PS/2 mouse, device ID 0 vga0: at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 sc0: on isa0 sc0: VGA <16 virtual consoles, flags=0x200> sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0 sio0: type 16550A sio1 at port 0x2f8-0x2ff irq 3 on isa0 sio1: type 16550A ppc0: at port 0x378-0x37f irq 7 on isa0 ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode ppc0: FIFO with 16/16/9 bytes threshold ppi0: on ppbus0 lpt0: on ppbus0 lpt0: Interrupt-driven port plip0: on ppbus0 sbc0: at port 0x220-0x22f,0x330-0x331,0x388-0x38b irq 5 drq 1,5 on isa0 sbc0: setting card to irq 5, drq 1, 5 pcm0: on sbc0 unknown0: at port 0x200-0x207 on isa0 unknown1: at port 0x620-0x623 on isa0 unknown2: at port 0x168-0x16f,0x36e-0x36f irq 10 on isa0 Waiting 15 seconds for SCSI devices to settle Mounting root from ufs:/dev/da0s1a da0 at ahc0 bus 0 target 0 lun 0 da0: Fixed Direct Access SCSI-3 device da0: 20.000MB/s transfers (20.000MHz, offset 30), Tagged Queueing Enabled da0: 8748MB (17916240 512 byte sectors: 255H 63S/T 1115C) cd0 at ahc0 bus 0 target 1 lun 0 cd0: Removable CD-ROM SCSI-2 device cd0: 20.000MB/s transfers (20.000MHz, offset 16) cd0: Attempt to query device size failed: NOT READY, Medium not present xl0: selecting BNC port, half duplex xl0: starting DAD for fe80:0001::0250:04ff:fe2e:e38d xl0: DAD complete for fe80:0001::0250:04ff:fe2e:e38d - no duplicates found =============================================================================== Thanks, Michael From: Klaus Michael Indlekofer To: "Kenneth D. Merry" Cc: freebsd-gnats-submit@FreeBSD.ORG, M.Indlekofer@fz-juelich.de Subject: Re: i386/17690: SCSI hangs on SMP kernel (4.0-RELEASE) Date: Fri, 31 Mar 2000 15:07:12 +0200 I have solved the problem. The 4.0 SMP kernel is very critical concerning interrupts. I had to assign the interrupts manually for all controllers in the BIOS setup: (IRQ9 for graphics, IRQ10 for network, IRQ11 for SCSI works) Thanks, Michael From: "Kenneth D. Merry" To: Klaus Michael Indlekofer Cc: freebsd-gnats-submit@FreeBSD.ORG Subject: Re: i386/17690: SCSI hangs on SMP kernel (4.0-RELEASE) Date: Fri, 31 Mar 2000 08:47:51 -0700 On Fri, Mar 31, 2000 at 15:07:12 +0200, Klaus Michael Indlekofer wrote: > I have solved the problem. > The 4.0 SMP kernel is very critical concerning interrupts. > I had to assign the interrupts manually for all controllers in the BIOS setup: > (IRQ9 for graphics, IRQ10 for network, IRQ11 for SCSI works) I'm glad you got it working. :) Ken -- Kenneth Merry ken@kdm.org State-Changed-From-To: open->closed State-Changed-By: ken State-Changed-When: Fri Mar 31 07:51:18 PST 2000 State-Changed-Why: PR submitter reports that he has fixed the problem. >Unformatted: