Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
SATA-II WD 250GB and Sil3124 controller with bad performance
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware
View previous topic :: View next topic  
Author Message
antares2001
Guru
Guru


Joined: 02 Mar 2004
Posts: 339
Location: Germany

PostPosted: Thu May 11, 2006 6:03 pm    Post subject: SATA-II WD 250GB and Sil3124 controller with bad performance Reply with quote

Hello!

I've bought a new WD 250 GB SATA-II harddisk and a PCI-Card SATA-II controller as follows:

Quote:
02:0a.0 RAID bus controller: Silicon Image, Inc. SiI 3124 PCI-X Serial ATA Controller (rev 01)


It is NOT PCI express, it is ordinary PCI.

However, I have a problem. Using the 2.6.16 kernel I have compiled into kernel the appropriate low-level sata driver in the SCSI section of menuconfig. Anyhow, when copying a 500MB file from one partition on the HDD to another under KDE, I first get 50 MB/s until my memory is full and then it decreases to 15-17 MB/s while the CPU usage rises to 100%.

So obviously the CPU is doing all the job and in the beginning my large memory (1,5 GB) buffers and helps getting the 50MB/s.

Where can be my configuration fault? Booting from the livecd, I get about 60-70 MB/s with hdparm -tT. Can I turn somehow something on like DMA on IDE devices?

These infos come from a livecd boot:

Quote:
$ cat /tmp/hdparm.txt

/dev/sda:
Timing cached reads: 2456 MB in 2.00 seconds = 1228.00 MB/sec
Timing buffered disk reads: 184 MB in 3.00 seconds = 61.33 MB/sec

/dev/sda:
Timing cached reads: 2432 MB in 2.00 seconds = 1216.00 MB/sec
Timing buffered disk reads: 184 MB in 3.01 seconds = 61.13 MB/sec

/dev/sda:
Timing cached reads: 2440 MB in 2.00 seconds = 1220.00 MB/sec
Timing buffered disk reads: 184 MB in 3.00 seconds = 61.33 MB/sec


These from a "normal" boot of my system:

Quote:
# hdparm -tT /dev/sda

/dev/sda:
Timing cached reads: 2216 MB in 2.00 seconds = 1107.86 MB/sec
Timing buffered disk reads: 10 MB in 3.77 seconds = 2.65 MB/sec
# hdparm -tT /dev/sda

/dev/sda:
Timing cached reads: 2228 MB in 2.00 seconds = 1114.27 MB/sec
Timing buffered disk reads: 10 MB in 3.72 seconds = 2.69 MB/sec
# hdparm -tT /dev/hda /dev/hdb /dev/sda

/dev/hda:
Timing cached reads: 2184 MB in 2.00 seconds = 1092.71 MB/sec
Timing buffered disk reads: 86 MB in 3.03 seconds = 28.40 MB/sec

/dev/hdb:
Timing cached reads: 2112 MB in 2.00 seconds = 1056.53 MB/sec
Timing buffered disk reads: 186 MB in 3.02 seconds = 61.67 MB/sec

/dev/sda:
Timing cached reads: 2200 MB in 2.00 seconds = 1099.27 MB/sec
Timing buffered disk reads: 10 MB in 3.76 seconds = 2.66 MB/sec


Obviously something strage is going on...

Here the lsmod of the livecd:

Quote:
# cat /tmp/lsmod.txt
Module Size Used by
parport_pc 27716 0
parport 22472 1 parport_pc
floppy 47076 0
pcspkr 2052 0
rtc 9908 0
e1000 78260 0
dm_mirror 15440 0
dm_mod 37784 1 dm_mirror
pdc_adma 7172 0
sata_mv 13444 0
ata_piix 7428 0
ahci 10116 0
sata_qstor 7428 0
sata_vsc 6276 0
sata_uli 5636 0
sata_sis 6148 0
sata_sx4 10884 0
sata_nv 6916 0
sata_via 6660 0
sata_svw 5892 0
sata_sil24 8580 1
sata_sil 7172 0
sata_promise 8580 0
libata 36104 15 pdc_adma,sata_mv,ata_piix,ahci,sata_qstor,sata_vsc,sata_uli,sata_sis,sata_sx4,sata_nv,sata_via,sata_svw,sata_sil24,sata_sil,sata_promise
sbp2 17412 0
ohci1394 26036 0
ieee1394 57656 2 sbp2,ohci1394
sl811_hcd 10240 0
ohci_hcd 15748 0
uhci_hcd 24976 0
usb_storage 50624 0
usbhid 29792 0
ehci_hcd 23688 0
usbcore 80516 7 sl811_hcd,ohci_hcd,uhci_hcd,usb_storage,usbhid,ehci_hcd


I have directly compiled into the kernel sata_sil24. What is that libata?

Here's more info on the drive:

Quote:
# hdparm -I /dev/sda

/dev/sda:

ATA device, with non-removable media
Model Number: WDC WD2500KS-00MJB0
Serial Number: WD-WCANK2149275
Firmware Revision: 02.01C03
Standards:
Supported: 7 6 5 4
Likely used: 7
Configuration:
Logical max current
cylinders 16383 16383
heads 16 16
sectors/track 63 63
--
CHS current addressable sectors: 16514064
LBA user addressable sectors: 268435455
LBA48 user addressable sectors: 488397168
device size with M = 1024*1024: 238475 MBytes
device size with M = 1000*1000: 250059 MBytes (250 GB)
Capabilities:
LBA, IORDY(can be disabled)
Queue depth: 1
Standby timer values: spec'd by Standard, with device specific minimum
R/W multiple sector transfer: Max = 16 Current = 16
Recommended acoustic management value: 128, current value: 254
DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 *udma5 udma6
Cycle time: min=120ns recommended=120ns
PIO: pio0 pio1 pio2 pio3 pio4
Cycle time: no flow control=120ns IORDY flow control=120ns
Commands/features:
Enabled Supported:
* NOP cmd
* READ BUFFER cmd
* WRITE BUFFER cmd
* Host Protected Area feature set
* Look-ahead
* Write cache
* Power Management feature set
Security Mode feature set
* SMART feature set
* FLUSH CACHE EXT command
* Mandatory FLUSH CACHE command
* Device Configuration Overlay feature set
* 48-bit Address feature set
Automatic Acoustic Management feature set
SET MAX security extension
* DOWNLOAD MICROCODE cmd
* General Purpose Logging feature set
* SMART self-test
* SMART error logging
Security:
Master password revision code = 65534
supported
not enabled
not locked
not frozen
not expired: security count
not supported: enhanced erase
Checksum: correct

_________________
* Toshiba SM30X Notebook, Pentium-M 725 CPU, ATI Radeon 9700, 512MB RAM, 80GB
* Pentium D 820 2,8 GHz (EM64T), Geforce6, 200GB + 40GB ATA, 250GB SATA2, WinFastTV 2000XP, 1,5GB RAM
Gentoo Linux 2006.1
Back to top
View user's profile Send private message
didymos
Advocate
Advocate


Joined: 10 Oct 2005
Posts: 4798
Location: California

PostPosted: Thu May 11, 2006 9:29 pm    Post subject: Reply with quote

That controller is PCI-X, actually. lspci is right. As to the transfer rate, is there any way to control the DMA setting in the BIOS? If so, try setting udma6; the drive should be capable of it.

[Edit] I should have been more specific: Does the card have it's own BIOS you can access, say with a support disk or something?
_________________
Thomas S. Howard
Back to top
View user's profile Send private message
antares2001
Guru
Guru


Joined: 02 Mar 2004
Posts: 339
Location: Germany

PostPosted: Thu May 11, 2006 9:47 pm    Post subject: Reply with quote

Hi!

Well it also has it's own BIOS, but there I can only make some RAID settings. Anyhow, it seems it is a bug in the Beyond kernel (although when I posted this I thought this is a stable driver because it is also in the mainstream kernel). The CD that was shipped with is only for Windows, and since I have no Windows I cannot use it. Perhaps there is some kind of program on it.

I've emerged gentoo-sources and compiled with almost the same .config like the beyond kernel was built with (I only drove Reiser4-support, etc. out) and what a miracle: now I get the 60 MB/s throughput and my system runs smooth - just like I expected it to. Since the root filesystem and the swap partition are on that harddisk, you can imagine how bad the system behaved before.
_________________
* Toshiba SM30X Notebook, Pentium-M 725 CPU, ATI Radeon 9700, 512MB RAM, 80GB
* Pentium D 820 2,8 GHz (EM64T), Geforce6, 200GB + 40GB ATA, 250GB SATA2, WinFastTV 2000XP, 1,5GB RAM
Gentoo Linux 2006.1
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum