ahci slow transfer rate with kernel 2.6.23-2.6.25

From: kyle
Date: Thu Apr 24 2008 - 03:15:51 EST


Please cc me if possible, thanks.

I've built a new machine with Intel Desktop Board DQ35JO, Intel E2160 CPU,
and 8 x Seagate ST3500320AS 500MB SATA harddisks. 6 of the 8 harddisks are
connected to the motherboard's SATA ports, while the remaining 2 are
connected to a 2 ports PCI-E card with sil24.

kernel is 2.6.24.5, have tried fedora kernel 2.6.23.1-42 and 2.6.24.4-64,
all give the same result. 2.6.25 doesn't help.

I have another production server running 2.6.22.5, same harddisk connected
to ICH8R, does not have the transfer rate problem.

sda,b,c .... to sdf are running ahci driver, sdg and sdh are running sil24
driver

hdparm -t /dev/sd{a-f} give around 45-46MB/sec
[root@localhost log]# hdparm -t /dev/sda
/dev/sda:
Timing buffered disk reads: 140 MB in 3.02 seconds = 46.42 MB/sec

hdparm -t /dev/sdg and sdh give over 105MB/sec
[root@localhost log]# hdparm -t /dev/sdg
/dev/sdg:
Timing buffered disk reads: 316 MB in 3.01 seconds = 105.13 MB/sec

had updated the motherboard to latest BIOS, no change in hdparm test
b4/after update.
dd to /dev/null from sda,sdb ... also show the same result, around 4xMB/s,
dd from sdg, sdh give over 100MB/s
hdparm -i:

[root@localhost boot]# hdparm -i /dev/sda
/dev/sda:
Model=ST3500320AS , FwRev=SD15 , SerialNo=
9QM2Q7F4
Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
BuffType=unknown, BuffSize=0kB, MaxMultSect=16, MultSect=?16?
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=268435455
IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5
AdvancedPM=no WriteCache=enabled
Drive conforms to: unknown: ATA/ATAPI-4,5,6,7
* signifies the current active mode

[root@localhost boot]# hdparm -i /dev/sdb

/dev/sdb:

Model=ST3500320AS , FwRev=SD15 , SerialNo=
9QM2H18H
Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
BuffType=unknown, BuffSize=0kB, MaxMultSect=16, MultSect=?16?
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=268435455
IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5
AdvancedPM=no WriteCache=enabled
Drive conforms to: unknown: ATA/ATAPI-4,5,6,7

* signifies the current active mode

...........................

[root@localhost boot]# hdparm -i /dev/sdg

/dev/sdg:

Model=ST3500320AS , FwRev=SD15 , SerialNo=
9QM2LE0C
Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
BuffType=unknown, BuffSize=0kB, MaxMultSect=16, MultSect=?16?
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=268435455
IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5
AdvancedPM=no WriteCache=enabled
Drive conforms to: unknown: ATA/ATAPI-4,5,6,7

* signifies the current active mode
attached dmesg

Since I'll run a 8x500GB raid5 on this machine, slow transfer rate of AHCI
driven harddisks will
slow down the create / check / resync ... etc of the whole array.

Please help, thank you very much

Regards,
Kyle

Attachment: dmesg.dat
Description: Binary data