Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 10 Apr 2008 17:31:53 -0500
From:      Karl Denninger <karl@denninger.net>
To:        freebsd-stable@freebsd.org
Subject:   Disk I/O Question 7.0-STABLE
Message-ID:  <20080410223153.GA336@FS.denninger.net>

next in thread | raw e-mail | index | archive | help
FreeBSD 7.0-STABLE #9: Sat Mar 29 08:31:56 CST 2008     karl@FS.denninger.net:/usr/obj/usr/src/sys/KSD-SMP 

Running generally well.

I have disks on the internal ICH7 adapters (on the motherboard), SATA, and
also a TWE controller with two disks.

When hitting the TWE controller hard I can hose the I/O performance on the
primary (onboard) adapter quite severely to the point that it seriously
impairs the system's overall performance.  "systat -vm" shows the primary
channels going to 100% busy but the transaction and I/O rate count is not
all that high.  The twe disk I am hammering, of course, is saturated (and
blowing data at a high rate of speed - 70MBps+)

It would seem to me that shouldn't be possible in that I can't possibly be
saturating the processor DMA capability with that sort of load - but it is.

Am I using a controller with a driver that is doing "not so good things"?
The machine in question is a quad-core - here's the boot info


Copyright (c) 1992-2008 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 is a registered trademark of The FreeBSD Foundation.
FreeBSD 7.0-STABLE #9: Sat Mar 29 08:31:56 CST 2008
    karl@FS.denninger.net:/usr/obj/usr/src/sys/KSD-SMP
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel(R) Core(TM)2 Quad CPU           @ 2.40GHz (2409.70-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x6f7  Stepping = 7
  Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
  Features2=0xe3bd<SSE3,RSVD2,MON,DS_CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM>
  AMD Features=0x20100000<NX,LM>
  AMD Features2=0x1<LAHF>
  Cores per package: 4
real memory  = 2146082816 (2046 MB)
avail memory = 2089783296 (1992 MB)
ACPI APIC Table: <INTEL  D975XBX2>
FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
 cpu0 (BSP): APIC ID:  0
 cpu1 (AP): APIC ID:  1
 cpu2 (AP): APIC ID:  2
 cpu3 (AP): APIC ID:  3
ioapic0: Changing APIC ID to 2
ioapic0 <Version 2.0> irqs 0-23 on motherboard
kbd1 at kbdmux0
ath_hal: 0.9.20.3 (AR5210, AR5211, AR5212, RF5111, RF5112, RF2413, RF5413)
acpi0: <INTEL D975XBX2> on motherboard
acpi0: [ITHREAD]
acpi0: Power Button (fixed)
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x408-0x40b on acpi0
cpu0: <ACPI CPU> on acpi0
est0: <Enhanced SpeedStep Frequency Control> on cpu0
p4tcc0: <CPU Frequency Thermal Control> on cpu0
cpu1: <ACPI CPU> on acpi0
est1: <Enhanced SpeedStep Frequency Control> on cpu1
p4tcc1: <CPU Frequency Thermal Control> on cpu1
cpu2: <ACPI CPU> on acpi0
est2: <Enhanced SpeedStep Frequency Control> on cpu2
p4tcc2: <CPU Frequency Thermal Control> on cpu2
cpu3: <ACPI CPU> on acpi0
est3: <Enhanced SpeedStep Frequency Control> on cpu3
p4tcc3: <CPU Frequency Thermal Control> on cpu3
acpi_button0: <Sleep Button> on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
pcib1: <PCI-PCI bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
vgapci0: <VGA-compatible display> mem 0x91000000-0x91ffffff,0x80000000-0x8fffffff,0x90000000-0x90ffffff irq 16 at device 0.0 on pci1
pcib2: <PCI-PCI bridge> at device 3.0 on pci0
pci2: <PCI bus> on pcib2
pcib3: <PCI-PCI bridge> at device 0.0 on pci2
pci3: <PCI bus> on pcib3
puc0: <Oxford Semiconductor OX16PCI954 UARTs> port 0x4060-0x407f,0x4040-0x405f mem 0x92d03000-0x92d03fff,0x92d02000-0x92d02fff irq 16 at device 0.0 on pci3
puc0: [FILTER]
uart0: <16550 or compatible> on puc0
uart0: [FILTER]
uart1: <16550 or compatible> on puc0
uart1: [FILTER]
uart2: <16550 or compatible> on puc0
uart2: [FILTER]
uart3: <16550 or compatible> on puc0
uart3: [FILTER]
pci3: <bridge> at device 0.1 (no driver attached)
pcm0: <Intel 82801G High Definition Audio Controller> mem 0x92e00000-0x92e03fff irq 22 at device 27.0 on pci0
pcm0: [ITHREAD]
pcib4: <ACPI PCI-PCI bridge> at device 28.0 on pci0
pci4: <ACPI PCI bus> on pcib4
pcib5: <ACPI PCI-PCI bridge> at device 28.4 on pci0
pci5: <ACPI PCI bus> on pcib5
atapci0: <Marvell 88SX6145 UDMA133 controller> port 0x3018-0x301f,0x3024-0x3027,0x3010-0x3017,0x3020-0x3023,0x3000-0x300f mem 0x92c00000-0x92c003ff irq 16 at device 0.0 on pci5
atapci0: [ITHREAD]
ata2: <ATA channel 0> on atapci0
ata2: [ITHREAD]
ata3: <ATA channel 1> on atapci0
ata3: [ITHREAD]
pcib6: <ACPI PCI-PCI bridge> at device 28.5 on pci0
pci6: <ACPI PCI bus> on pcib6
em0: <Intel(R) PRO/1000 Network Connection Version - 6.7.3> port 0x2000-0x201f mem 0x92b00000-0x92b1ffff irq 17 at device 0.0 on pci6
em0: Using MSI interrupt
em0: Ethernet address: 00:19:d1:e3:b4:b8
em0: [FILTER]
uhci0: <UHCI (generic) USB controller> port 0x5080-0x509f irq 23 at device 29.0 on pci0
uhci0: [GIANT-LOCKED]
uhci0: [ITHREAD]
usb0: <UHCI (generic) USB controller> on uhci0
usb0: USB revision 1.0
uhub0: <Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb0
uhub0: 2 ports with 2 removable, self powered
uhci1: <UHCI (generic) USB controller> port 0x5060-0x507f irq 19 at device 29.1 on pci0
uhci1: [GIANT-LOCKED]
uhci1: [ITHREAD]
usb1: <UHCI (generic) USB controller> on uhci1
usb1: USB revision 1.0
uhub1: <Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb1
uhub1: 2 ports with 2 removable, self powered
uhci2: <UHCI (generic) USB controller> port 0x5040-0x505f irq 18 at device 29.2 on pci0
uhci2: [GIANT-LOCKED]
uhci2: [ITHREAD]
usb2: <UHCI (generic) USB controller> on uhci2
usb2: USB revision 1.0
uhub2: <Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb2
uhub2: 2 ports with 2 removable, self powered
uhci3: <UHCI (generic) USB controller> port 0x5020-0x503f irq 16 at device 29.3 on pci0
uhci3: [GIANT-LOCKED]
uhci3: [ITHREAD]
usb3: <UHCI (generic) USB controller> on uhci3
usb3: USB revision 1.0
uhub3: <Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb3
uhub3: 2 ports with 2 removable, self powered
ehci0: <Intel 82801GB/R (ICH7) USB 2.0 controller> mem 0x92e04400-0x92e047ff irq 23 at device 29.7 on pci0
ehci0: [GIANT-LOCKED]
ehci0: [ITHREAD]
usb4: EHCI version 1.0
usb4: companion controllers, 2 ports each: usb0 usb1 usb2 usb3
usb4: <Intel 82801GB/R (ICH7) USB 2.0 controller> on ehci0
usb4: USB revision 2.0
uhub4: <Intel EHCI root hub, class 9/0, rev 2.00/1.00, addr 1> on usb4
uhub4: 8 ports with 8 removable, self powered
pcib7: <ACPI PCI-PCI bridge> at device 30.0 on pci0
pci7: <ACPI PCI bus> on pcib7
fxp0: <Intel 82558 Pro/100 Ethernet> port 0x1000-0x101f mem 0x92a00000-0x92a00fff,0x92800000-0x928fffff irq 21 at device 0.0 on pci7
miibus0: <MII bus> on fxp0
inphy0: <i82555 10/100 media interface> PHY 1 on miibus0
inphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
fxp0: Ethernet address: 00:a0:c9:a4:78:c3
fxp0: [ITHREAD]
twe0: <3ware Storage Controller. Driver version 1.50.01.002> port 0x1020-0x102f mem 0x92904800-0x9290480f,0x92000000-0x927fffff irq 18 at device 2.0 on pci7
twe0: [GIANT-LOCKED]
twe0: [ITHREAD]
twe0: 2 ports, Firmware FE8S 1.05.00.068, BIOS BE7X 1.08.00.048
fwohci0: <Texas Instruments TSB43AB23> mem 0x92904000-0x929047ff,0x92900000-0x92903fff irq 18 at device 4.0 on pci7
fwohci0: [FILTER]
fwohci0: OHCI version 1.10 (ROM=0)
fwohci0: No. of Isochronous channels is 4.
fwohci0: EUI64 00:90:27:00:01:c8:f1:cc
fwohci0: Phy 1394a available S400, 3 ports.
fwohci0: Link S400, max_rec 2048 bytes.
firewire0: <IEEE1394(FireWire) bus> on fwohci0
dcons_crom0: <dcons configuration ROM> on firewire0
dcons_crom0: bus_addr 0x7c82c000
fwe0: <Ethernet over FireWire> on firewire0
if_fwe0: Fake Ethernet address: 02:90:27:c8:f1:cc
fwe0: Ethernet address: 02:90:27:c8:f1:cc
fwip0: <IP over FireWire> on firewire0
fwip0: Firewire address: 00:90:27:00:01:c8:f1:cc @ 0xfffe00000000, S400, maxrec 2048
sbp0: <SBP-2/SCSI over FireWire> on firewire0
fwohci0: Initiate bus reset
fwohci0: BUS reset
fwohci0: node_id=0xc800ffc0, gen=1, CYCLEMASTER mode
isab0: <PCI-ISA bridge> at device 31.0 on pci0
isa0: <ISA bus> on isab0
atapci1: <Intel ICH7 UDMA100 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x50b0-0x50bf irq 18 at device 31.1 on pci0
ata0: <ATA channel 0> on atapci1
ata0: [ITHREAD]
ata1: <ATA channel 1> on atapci1
ata1: [ITHREAD]
atapci2: <Intel ICH7 SATA300 controller> port 0x50c8-0x50cf,0x50e4-0x50e7,0x50c0-0x50c7,0x50e0-0x50e3,0x50a0-0x50af mem 0x92e04000-0x92e043ff irq 19 at device 31.2 on pci0
atapci2: [ITHREAD]
ata4: <ATA channel 0> on atapci2
ata4: [ITHREAD]
ata5: <ATA channel 1> on atapci2
ata5: [ITHREAD]
pci0: <serial bus, SMBus> at device 31.3 (no driver attached)
atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
atkbd0: [ITHREAD]
sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
sio0: type 16550A
sio0: [FILTER]
pmtimer0 on isa0
orm0: <ISA Option ROM> at iomem 0xcf000-0xcffff pnpid ORM0000 on isa0
ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/8 bytes threshold
ppbus0: <Parallel port bus> on ppc0
ppbus0: [ITHREAD]
plip0: <PLIP network interface> on ppbus0
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
ppi0: <Parallel I/O> on ppbus0
ppc0: [GIANT-LOCKED]
ppc0: [ITHREAD]
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sio1: configured irq 3 not in bitmap of probed irqs 0
sio1: port may not be enabled
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
ugen0: <American Power Conversion Smart-UPS 1500 FW:601.3.D USB FW:1.5, class 0/0, rev 1.10/0.06, addr 2> on uhub0
Timecounters tick every 1.000 msec
firewire0: 1 nodes, maxhop <= 0, cable IRM = 0 (me)
firewire0: bus manager 0 (me)
ipfw2 (+ipv6) initialized, divert enabled, nat loadable, rule-based forwarding disabled, default to deny, logging disabled
acd0: CDROM <GCR-8483B/1.00> at ata0-master UDMA33
ad8: 476940MB <Hitachi HDS725050KLA360 K2AOA51A> at ata4-master SATA150
ad10: 476940MB <Hitachi HDS725050KLA360 K2AOA51A> at ata5-master SATA150
pcm0: <HDA Codec: Sigmatel (Unknown)>
pcm0: <HDA Driver Revision: 20071129_0050>
twed0: <Unit 0, JBOD, Normal> on twe0
twed0: 953869MB (1953525168 sectors)
twed1: <Unit 1, JBOD, Normal> on twe0
twed1: 953869MB (1953525168 sectors)
GEOM_MIRROR: Force device b500 start due to timeout.
GEOM_MIRROR: Device mirror/b500 launched (2/3).
SMP: AP CPU #1 Launched!
SMP: AP CPU #2 Launched!
SMP: AP CPU #3 Launched!
Trying to mount root from ufs:/dev/mirror/b500a
em0: link state changed to UP

Ideas?

If the answer is "buy a different smart SATA controller of brand X" that's
fine so long as the name and model number follows :)

I can accomodate both PCI and PCI Express (if I remove the TWE card, which
is a PCI card)

Thanks in advance!

--
-- 
Karl Denninger (karl@denninger.net) Internet Consultant & Kids Rights Activist
http://www.denninger.net	My home on the net - links to everything I do!
http://scubaforum.org		Your UNCENSORED place to talk about DIVING!
http://genesis3.blogspot.com	Musings Of A Sentient Mind





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