From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christopher Smith Subject: Poor write performance from Dell CERC SATA 1.5/6 controller using aacraid Date: Tue, 07 Feb 2006 17:44:00 +1100 Message-ID: <43E841B0.6080705@nighthawkrad.net> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Return-path: Received: from mail.syd.nighthawkrad.net ([203.166.121.124]:27596 "EHLO mail.syd.nighthawkrad.net") by vger.kernel.org with ESMTP id S932448AbWBGGoD (ORCPT ); Tue, 7 Feb 2006 01:44:03 -0500 Received: from [172.25.253.244] (unknown [172.25.253.244]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.syd.nighthawkrad.net (Postfix) with ESMTP id E1DD8108166 for ; Tue, 7 Feb 2006 17:44:00 +1100 (EST) Sender: linux-scsi-owner@vger.kernel.org List-Id: linux-scsi@vger.kernel.org To: linux-scsi@vger.kernel.org I've got a PE750 with one of Dell's CERC SATA RAID controllers in it. It has two 250G WD drives attached in a RAID1. My problem is that the write performance is atrocious, at 10M/s, tops. This is regardless of whether or not the card's write caching is enabled[0]. I have tried with both FC4 (2.6.15-1.1830_FC4smp, 2.6.14-1.1656_FC4smp, 2.6.11-1.1369_FC4smp) and CentOS 4.2/RHEL4 (2.6.9-22.0.1.ELsmp). Performance is marginally worse with older kernels, at ~8M/s instead of ~10M/s. Since I have another two drives of the same type in an identical machine, only using the onboard SATA controller and software RAID that easily pulls 30+M/s, I'm pretty sure it isn't slow drives. So I'm wondering if it's an aacraid driver bug, or if these Dell CERC cards just suck. CS [0] Indeed, enabling the write cache makes it worse, if anything, since the system proceeds to dump as much data as possible to the cache, then basically freeze (IO-wise) while the controller dumps the cache to disk, then the cycle repeats. So I get about 10s of data transfer, then about 15 seconds of nothing (w/ 100% iowait), then 10s of data transfers, then 15s nothing, etc, etc. At least with the cache off, the 10M/s is pretty much constant. Bonnie++ results: [root@localhost bonnie++-1.03a]# uname -r 2.6.15-1.1830_FC4smp [root@localhost bonnie++-1.03a]# ./bonnie++ -d /tmp/ -u 0 -f -b -s 2050 [...] Version 1.03 ------Sequential Output------ --Sequential Input- --Random- -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks-- Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP localhost.loc 2050M 8239 3 8153 2 57685 6 190.6 0 ------Sequential Create------ --------Random Create-------- -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete-- files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP 16 47 0 +++++ +++ 56 0 73 0 +++++ +++ 60 0 localhost.localdomain,2050M,,,8239,3,8153,2,,,57685,6,190.6,0,16,47,0,+++++,+++,56,0,73,0,+++++,+++, 60,0 lspci -vv: [root@localhost bonnie++-1.03a]# lspci -vv 00:00.0 Host bridge: Intel Corporation 82875P/E7210 Memory Controller Hub (rev 02) Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- SERR- TAbort- SERR- TAbort- Reset- FastB2B- 00:1c.0 PCI bridge: Intel Corporation 6300ESB 64-bit PCI-X Bridge (rev 02) (prog-if 00 [Normal decode]) Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- Status: Cap+ 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- SERR- TAbort- Reset- FastB2B- Capabilities: [50] PCI-X bridge device. Secondary Status: 64bit+, 133MHz-, SCD-, USC-, SCO-, SRD- Freq=0 Status: Bus=0 Dev=28 Func=0 64bit+ 133MHz- SCD- USC-, SCO-, SRD- : Upstream: Capacity=65535, Commitment Limit=0 : Downstream: Capacity=65535, Commitment Limit=0 00:1d.0 USB Controller: Intel Corporation 6300ESB USB Universal Host Controller (rev 02) (prog-if 00 [UHCI]) Subsystem: Dell: Unknown device 0165 Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- SERR- TAbort- SERR- TAbort- SERR- TAbort- SERR- TAbort- SERR- TAbort- SERR- TAbort- Reset- FastB2B- 00:1f.0 ISA bridge: Intel Corporation 6300ESB LPC Interface Controller (rev 02) Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV- VGASnoop- ParErr+ Stepping- SERR+ FastB2B- Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- SERR- TAbort- SERR- Region 1: I/O ports at Region 2: I/O ports at Region 3: I/O ports at Region 4: I/O ports at fea0 [size=16] 00:1f.3 SMBus: Intel Corporation 6300ESB SMBus Controller (rev 02) Subsystem: Dell: Unknown device 0165 Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- SERR- TAbort- SERR- TAbort- SERR- TAbort- SERR- TAbort- SERR-