Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 21 Feb 2001 15:02:02 -0600
From:      Nick Colakovic <nickc@CORP.FirstIndustrial.com>
To:        "'FreeBSD-gnats-submit@freebsd.org'" <FreeBSD-gnats-submit@freebsd.org>
Subject:   kern/25261: IFT-3102 problems related to recent ahc changes. 
Message-ID:  <DAE65694F8EBD311AD6F00B0D021353119AFE9@first-corp.corp.firstindustrial.com>

next in thread | raw e-mail | index | archive | help

>Number:         25261
>Category:       kern
>Synopsis:       ahc0 no active SCB errors when booting off of IFT-3102
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Feb 21 13:10:02 PST 2001
>Closed-Date:
>Last-Modified:
>Originator:     Nick Colakovic
>Release:        FreeBSD 4.2-STABLE i386
>Organization:
First Industrial Realty Trust
>Environment:


FreeBSD 4.2-STABLE #0: Mon Feb 19 17:59:58 CST 2001
    nickc@pariah.firstindustrial.com:/usr/obj/usr/src/sys/SCLEAN.ift

	Host system:
		 Intel CA810E system board
		 PIII 550E
		 128MB RAM
		 Adaptec 2940U2W Controller (Bios 2.20.0)
			w/ Translate Disk >1GB Turned off
	
	Infortrend IFT-3102U2G Controller Firmware 2.23k
		32MB Cache
		Host Attached to Channel #3 (of 6)
		Host LUN ID 0, Unit 0 setup to attach to
  		 4096MB Partition of RAID 1 Logical Drive
		 (da0) which has been setup in the following way:

#        size   offset    fstype   [fsize bsize bps/cpg]
  a:   286720        0    4.2BSD     1024  8192    16   # (Cyl.    0 - 139)
/
  b:   819200   286720      swap                        # (Cyl.  140 - 539) 
  c:  8388576        0    unused        0     0         # (Cyl.    0 -
4095*)
  e:  1048576  1105920    4.2BSD     1024  8192    16   # (Cyl.  540 - 1051)
/var
  f:  4194304  2154496    4.2BSD     1024  8192    16   # (Cyl. 1052 - 3099)
/usr
  g:  2039776  6348800    4.2BSD     1024  8192    16   # (Cyl. 3100 -
4095*) /tmp

		Host LUN ID 0, Unit 0 setup to attach to 4096MB
		Partition of Raid 1 Logical Drive (da1) which has been
		setup in the following way:


#        size   offset    fstype   [fsize bsize bps/cpg]
  c:  8388576        0    unused        0     0         # (Cyl.    0 -
4095*)
  e:  4194304        0    4.2BSD     1024  8192    16   # (Cyl.    0 - 2047)
/a
  f:  4194272  4194304    4.2BSD     1024  8192    16   # (Cyl. 2048 -
4095*) /b
			

>Description:

 	As a result of what are assumed to be the recent changes to the ahc 
	driver code, when a FreeBSD 4.2-STABLE system is booted off 
	of Adaptec 2940U2W controller attached to a Infortrend IFT-3102 
	External Raid Controller kernel errors are seen at system boot
	when the OS starts to mount filesystems.  One error
	will appear at startup for each host LUN as filesystems are mounted
	So for two host LUNs two sets of errors will be seen on the
	console at bootup.   The exact output received is:


Hit [Enter] to boot immediately, or any other key for command prompt.
Booting [kernel]...               
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.2-STABLE #0: Mon Feb 19 17:59:58 CST 2001
    nickc@pariah.firstindustrial.com:/usr/obj/usr/src/sys/SCLEAN.ift
Timecounter "i8254"  frequency 1193182 Hz
Timecounter "TSC"  frequency 548336371 Hz
CPU: Pentium III/Pentium III Xeon/Celeron (548.34-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x681  Stepping = 1
 
Features=0x387f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,
PAT,PSE36,PN,MMX,FXSR,SSE>
real memory  = 132907008 (129792K bytes)
avail memory = 126377984 (123416K bytes)
pnpbios: Bad PnP BIOS data checksum
Preloaded elf kernel "kernel" at 0xc02f7000.
Pentium Pro MTRR support enabled
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Intel 82810E (i810E GMCH) Host To Hub bridge> on motherboard
pci0: <PCI bus> on pcib0
pci0: <Intel 82810E (i810E GMCH) SVGA controller> at 1.0 irq 11
pcib1: <Intel 82801AA (ICH) Hub to PCI bridge> at device 30.0 on pci0
pci1: <PCI bus> on pcib1
fxp0: <Intel Pro 10/100B/100+ Ethernet> port 0xdf00-0xdf3f mem
0xff700000-0xff7fffff,0xff8fe000-0xff8fefff irq 15 at device 1.0 on pci1
fxp0: Ethernet address 00:03:47:06:d6:84
ahc0: <Adaptec 2940 Ultra2 SCSI adapter> port 0xd800-0xd8ff mem
0xff8ff000-0xff8fffff irq 14 at device 9.0 on pci1
aic7890/91: Wide Channel A, SCSI Id=7, 32/255 SCBs
isab0: <Intel 82801AA (ICH) PCI to LPC bridge> at device 31.0 on pci0
isa0: <ISA bus> on isab0
pci0: <Unknown PCI ATA controller> at 31.1
pci0: <Intel 82801AA (ICH) USB controller> at 31.2 irq 15
pci0: <unknown card> (vendor=0x8086, dev=0x2413) at 31.3 irq 14
fdc0: <NEC 72065B or clone> 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: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
kbd0 at atkbd0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model IntelliMouse, device ID 3
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x100>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A, console
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16550A
ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
ppc0: Generic chipset (EPP/NIBBLE) in COMPATIBLE mode
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
Waiting 15 seconds for SCSI devices to settle
da0 at ahc0 bus 0 target 0 lun 0
da0: <IFT 3102 0223> Fixed Direct Access SCSI-2 device 
da0: 80.000MB/s transfers (40.000MHz, offset 31, 16bit), Tagged Queueing
Enabled
da0: 4096MB (8388608 512 byte sectors: 64H 32S/T 4096C)
da1 at ahc0 bus 0 target 0 lun 1
da1: <IFT 3102 0223> Fixed Direct Access SCSI-2 device 
da1: 80.000MB/s transfers (40.000MHz, offset 31, 16bit), Tagged Queueing
Enabled
da1: 4096MB (8388608 512 byte sectors: 64H 32S/T 4096C)
Mounting root from ufs:/dev/da0s1a
swapon: adding /dev/da0s1b as swap device
Automatic boot in progress...
/dev/da0s1a: FILESYSTEM CLEAN; SKIPPING CHECKS
/dev/da0s1a: clean, 105616 free (376 frags, 13155 blocks, 0.3%
fragmentation)
ahc0:A:0: no active SCB for reconnecting target - issuing BUS DEVICE RESET
SAVED_SCSIID == 0x7, SAVED_LUN == 0x0, ARG_1 == 0xe ACCUM = 0x1
SEQ_FLAGS == 0x0, SCBPTR == 0x0, BTT == 0xe, SINDEX == 0x31
SCSIID == 0x0, SCB_SCSIID == 0x7, SCB_LUN == 0x1, SCB_TAG == 0xff,
SCB_CONTROL == 0x44
SCSIBUSL == 0x80, SCSISIGI == 0xe6
SXFRCTL0 == 0x88
SEQCTL == 0x10
ahc0: Dumping Card State at SEQADDR 0x1a8
SCB count = 20
Kernel NEXTQSCB = 9
Card NEXTQSCB = 9
QINFIFO entries: 
Waiting Queue entries: 
Disconnected Queue entries: 1:15 
QOUTFIFO entries: 
Sequencer Free SCB List: 0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30 31 
Pending list: 14 15 
Kernel Free SCB list: 16 17 18 19 0 1 2 3 4 5 6 7 8 13 12 11 10 
Untagged Q(0): 14 
ahc0: Bus Device Reset on A:0. 2 SCBs aborted
ahc0:A:0: no active SCB for reconnecting target - issuing BUS DEVICE RESET
SAVED_SCSIID == 0x7, SAVED_LUN == 0x0, ARG_1 == 0x9 ACCUM = 0x1
SEQ_FLAGS == 0x0, SCBPTR == 0x0, BTT == 0x9, SINDEX == 0x31
SCSIID == 0x0, SCB_SCSIID == 0x7, SCB_LUN == 0x1, SCB_TAG == 0xff,
SCB_CONTROL == 0x44
SCSIBUSL == 0x80, SCSISIGI == 0xe6
SXFRCTL0 == 0x88
SEQCTL == 0x10
ahc0: Dumping Card State at SEQADDR 0x1a8
SCB count = 20
Kernel NEXTQSCB = 15
Card NEXTQSCB = 15
QINFIFO entries: 
Waiting Queue entries: 
Disconnected Queue entries: 1:14 
QOUTFIFO entries: 
Sequencer Free SCB List: 0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30 31 
Pending list: 9 14 
Kernel Free SCB list: 16 17 18 19 0 1 2 3 4 5 6 7 8 13 12 11 10 
Untagged Q(0): 9 
ahc0: Bus Device Reset on A:0. 2 SCBs aborted
/dev/da1s1e: FILESYSTEM CLEAN; SKIPPING CHECKS
/dev/da1s1e: clean, 1961556 free (1052 frags, 245063 blocks, 0.1%
fragmentation)
/dev/da1s1f: FILESYSTEM CLEAN; SKIPPING CHECKS
/dev/da1s1f: clean, 2032606 free (14 frags, 254074 blocks, 0.0%
fragmentation)
/dev/da0s1g: FILESYSTEM CLEAN; SKIPPING CHECKS
/dev/da0s1g: clean, 966967 free (71 frags, 120862 blocks, 0.0%
fragmentation)
/dev/da0s1f: FILESYSTEM CLEAN; SKIPPING CHECKS
/dev/da0s1f: clean, 1120887 free (38823 frags, 135258 blocks, 1.9%
fragmentation)
/dev/da0s1e: FILESYSTEM CLEAN; SKIPPING CHECKS
/dev/da0s1e: clean, 501330 free (82 frags, 62656 blocks, 0.0% fragmentation)
[remainder deleted]

These errors were repeated when the kernel was rebuilt using the GENERIC
config.  4.2-STABLE as of 1-08-2001 did not show these errors at startup.  
Only after the system was updated to 4.2-STABLE as of 2-18-2001 to fix 
the security vunerability in FreeBSD-SA-01:24 did this problem manifest
itself. 

>How-To-Repeat:

	Install/run 4.2-STABLE (>11-18-2001) on a IFT-3102 RAID controller.
	At the start of filesystem mount kernel errors related to ahc
	SCB's.

>Fix:

	Apply the following patch to /usr/src/sys/cam/cam_xpt.c which adds a
quirk entry for the IFT-3102 to limit the number of tags to use to the
controller default of 32 per host LUN:

84a385,396
>               /*
>                * Infortrend IFT-3102 has a global host scsi channel
>                * configuration paramater that determines the maximum
>                * number of tags that each host lun (logical drive
presented
>                * by the raid controller to the host controller) 
>                * can handle.   By default this is 32 tags per lun.  
>                */
>       {
>               { T_DIRECT, SIP_MEDIA_FIXED, "IFT", "3102", "*" },
>               /*quirks*/0, /*mintags*/2, /*maxtags*/32
>         },
>       

Another possible workaround is to try to increase the number of tags per
host 
LUN to 255, but this might have other adverse affects on controller
performance.   I didn't test this as this controller handles 4 production 
systems with two different OSes (FreeBSD and NT) and I cannot risk stability
problems on these other systems.

>Release-Note:
>Audit-Trail:
>Unformatted:
 controller

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?DAE65694F8EBD311AD6F00B0D021353119AFE9>