From nobody@FreeBSD.org  Wed Mar 29 05:43:08 2000
Return-Path: <nobody@FreeBSD.org>
Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21])
	by hub.freebsd.org (Postfix) with ESMTP id 434D737B5E6
	for <freebsd-gnats-submit@FreeBSD.org>; Wed, 29 Mar 2000 05:43:08 -0800 (PST)
	(envelope-from nobody@FreeBSD.org)
Received: (from nobody@localhost)
	by freefall.freebsd.org (8.9.3/8.9.2) id FAA97143;
	Wed, 29 Mar 2000 05:43:08 -0800 (PST)
	(envelope-from nobody@FreeBSD.org)
Message-Id: <200003291343.FAA97143@freefall.freebsd.org>
Date: Wed, 29 Mar 2000 05:43:08 -0800 (PST)
From: pac@geodesic.com
Sender: nobody@FreeBSD.org
To: freebsd-gnats-submit@FreeBSD.org
Subject: cam_xpt.c incorrectly disables tagged queuing for WDE drives resulting in por performance
X-Send-Pr-Version: www-1.0

>Number:         17662
>Category:       i386
>Synopsis:       [cam] cam_xpt.c incorrectly disables tagged queuing for WDE drives resulting in por performance
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    gibbs
>State:          suspended
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Mar 29 05:50:01 PST 2000
>Closed-Date:    
>Last-Modified:  Tue Nov 29 05:57:33 GMT 2005
>Originator:     Paul A. Coyne
>Release:        3.x, 4.x
>Organization:
Geodesic Systems
>Environment:
NOTE: I have commented out the disable of tagged queuing in this kernel
via ifdef 0 in cam_xtp.c offending code.

Copyright (c) 1992-1999 FreeBSD Inc.
Copyright (c) 1982, 1986, 1989, 1991, 1993
        The Regents of the University of California. All rights reserved.
FreeBSD 3.4-STABLE #1: Tue Mar 28 18:05:50 CST 2000
    root@sparky.geodesic.com:/usr/src/sys/compile/sparky
Timecounter "i8254"  frequency 1193182 Hz
Timecounter "TSC"  frequency 447692079 Hz
CPU: Pentium III/Pentium III Xeon (447.69-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x672  Stepping = 2
  Features=0x383fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,
PAT,PSE36,MMX,FXSR,<b25>>
real memory  = 268435456 (262144K bytes)
avail memory = 258252800 (252200K bytes)
Preloaded elf kernel "kernel" at 0xc02bc000.
Pentium Pro MTRR support enabled
Probing for devices on PCI bus 0:
chip0: <Intel 82443GX host to PCI bridge> rev 0x00 on pci0.0.0
chip1: <Intel 82443GX host to AGP bridge> rev 0x00 on pci0.1.0
chip2: <PCI to PCI bridge (vendor=1011 device=0024)> rev 0x03 on pci0.2.0
chip3: <Intel 82371AB PCI to ISA bridge> rev 0x02 on pci0.7.0
ide_pci0: <Intel PIIX4 Bus-master IDE controller> rev 0x01 on pci0.7.1
chip4: <Intel 82371AB Power management controller> rev 0x02 on pci0.7.3
fxp0: <Intel EtherExpress Pro 10/100B Ethernet> rev 0x05 int a irq 14 on pci0.8.0
fxp0: Ethernet address 00:90:27:7b:31:c3
Probing for devices on PCI bus 1:
vga0: <ATI model 4744 graphics accelerator> rev 0x5c on pci1.0.0
Probing for devices on PCI bus 2:
ahc0: <Adaptec aic7890/91 Ultra2 SCSI adapter> rev 0x00 int a irq 11 on pci2.4.0
ahc0: aic7890/91 Wide Channel A, SCSI Id=7, 16/255 SCBs
ahc1: <Adaptec aic7860 SCSI adapter> rev 0x03 int a irq 11 on pci2.6.0
ahc1: aic7860 Single Channel A, SCSI Id=7, 3/255 SCBs
Probing for PnP devices:
Probing for devices on the ISA bus:
sc0 on isa
sc0: VGA color <16 virtual consoles, flags=0x0>
atkbdc0 at 0x60-0x6f on motherboard
atkbd0 irq 1 on isa
psm0 not found
sio0 at 0x3f8-0x3ff irq 4 flags 0x10 on isa
sio0: type 16550A
sio1 at 0x2f8-0x2ff irq 3 on isa
sio1: type 16550A
fdc0 at 0x3f0-0x3f7 irq 6 drq 2 on isa
fdc0: FIFO enabled, 8 bytes threshold
fd0: 1.44MB 3.5in
wdc0 not found at 0x1f0
wdc1 not found at 0x170
ppc0 at 0x378 irq 7 flags 0x40 on isa
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/8 bytes threshold
lpt0: <generic printer> on ppbus 0
lpt0: Interrupt-driven port
ppi0: <generic parallel i/o> on ppbus 0
plip0: <PLIP network interface> on ppbus 0
vga0 at 0x3b0-0x3df maddr 0xa0000 msize 131072 on isa
npx0 on motherboard
npx0: INT 16 interface
Waiting 15 seconds for SCSI devices to settle
sa0 at ahc1 bus 0 target 6 lun 0
sa0: <ARCHIVE Python 04106-XXX 7350> Removable Sequential Access SCSI-2 device 
sa0: 10.000MB/s transfers (10.000MHz, offset 15)
pass6 at ahc0 bus 0 target 6 lun 0
pass6: <DELL 1x6 U2W SCSI BP 5.13> Fixed Processor SCSI-2 device 
pass6: 3.300MB/s transfers
changing root device to da0s1a
cd0 at ahc1 bus 0 target 5 lun 0
cd0: <NEC CD-ROM DRIVE:465 1.25> Removable CD-ROM SCSI-2 device 
cd0: 20.000MB/s transfers (20.000MHz, offset 15)
cd0: Attempt to query device size failed: NOT READY, Medium not present
da4 at ahc0 bus 0 target 4 lun 0
da4: <WDIGTL WDE18300 ULTRA2 1.20> Fixed Direct Access SCSI-2 device 
da4: 80.000MB/s transfers (40.000MHz, offset 31, 16bit), Tagged Queueing Enabled
da4: 17375MB (35586001 512 byte sectors: 64H 32S/T 17375C)
da5 at ahc0 bus 0 target 5 lun 0
da5: <WDIGTL WDE18300 ULTRA2 1.20> Fixed Direct Access SCSI-2 device 
da5: 80.000MB/s transfers (40.000MHz, offset 31, 16bit), Tagged Queueing Enabled
da5: 17375MB (35586001 512 byte sectors: 64H 32S/T 17375C)
da1 at ahc0 bus 0 target 1 lun 0
da1: <WDIGTL WDE18300 ULTRA2 1.20> Fixed Direct Access SCSI-2 device 
da1: 80.000MB/s transfers (40.000MHz, offset 31, 16bit), Tagged Queueing Enabled
da1: 17375MB (35586001 512 byte sectors: 64H 32S/T 17375C)
da0 at ahc0 bus 0 target 0 lun 0
da0: <WDIGTL WDE18300 ULTRA2 1.20> Fixed Direct Access SCSI-2 device 
da0: 80.000MB/s transfers (40.000MHz, offset 31, 16bit), Tagged Queueing Enabled
da0: 17375MB (35586001 512 byte sectors: 64H 32S/T 17375C)
da3 at ahc0 bus 0 target 3 lun 0
da3: <WDIGTL WDE18300 ULTRA2 1.20> Fixed Direct Access SCSI-2 device 
da3: 80.000MB/s transfers (40.000MHz, offset 31, 16bit), Tagged Queueing Enabled
da3: 17375MB (35586001 512 byte sectors: 64H 32S/T 17375C)
da2 at ahc0 bus 0 target 2 lun 0
da2: <WDIGTL WDE18300 ULTRA2 1.20> Fixed Direct Access SCSI-2 device 
da2: 80.000MB/s transfers (40.000MHz, offset 31, 16bit), Tagged Queueing Enabled
da2: 17375MB (35586001 512 byte sectors: 64H 32S/T 17375C)

>Description:
From cam_xpt.c.  I emailed Andrew and Justin Gibbs about this some time ago.
I have Dell Poweredge 6300 with WDE 18GB drives that have HORRIBLE performace
with tagged queuing disable.  With this section ifdef'ed out, performance is great

 
        {
                /*
                 * Slow when tagged queueing is enabled. (1.5MB/sec versus
                 * 8MB/sec.)
                 * Submitted by: Andrew Gallatin <gallatin@cs.duke.edu>
                 * Best performance with these drives is achieved with
                 * tagged queueing turned off, and write caching turned on.
                 */
                { T_DIRECT, SIP_MEDIA_FIXED, west_digital, "WDE*", "*" },
                /*quirks*/0, /*mintags*/0, /*maxtags*/0
        },
#endif

>How-To-Repeat:
Self explanatory	
>Fix:
Be more specific in disable of WDE* drives in cam_xpt.c

>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-bugs->gibbs 
Responsible-Changed-By: sheldonh 
Responsible-Changed-When: Wed Mar 29 06:17:42 PST 2000 
Responsible-Changed-Why:  
The originator says Justin knows about this already. 
State-Changed-From-To: open->suspended 
State-Changed-By: linimon 
State-Changed-When: Tue Nov 29 05:57:19 GMT 2005 
State-Changed-Why:  
Mark this aging PR as suspended. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=17662 
>Unformatted:
