Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 29 Mar 2000 05:43:08 -0800 (PST)
From:      pac@geodesic.com
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   i386/17662: cam_xpt.c incorrectly disables tagged queuing for WDE drives resulting in por performance
Message-ID:  <200003291343.FAA97143@freefall.freebsd.org>

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

>Number:         17662
>Category:       i386
>Synopsis:       cam_xpt.c incorrectly disables tagged queuing for WDE drives resulting in por performance
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    freebsd-bugs
>State:          open
>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:
>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:
>Unformatted:


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?200003291343.FAA97143>