Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 52125 - SATA Silicon Image 3112A sticks with 15 MB/sec (siimage & libata + sata_sil is not the problem)
Summary: SATA Silicon Image 3112A sticks with 15 MB/sec (siimage & libata + sata_sil i...
Status: RESOLVED WORKSFORME
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: x86 Linux
: High critical
Assignee: x86-kernel@gentoo.org (DEPRECATED)
URL: http://forums.gentoo.org/viewtopic.ph...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-05-26 12:17 UTC by Master One
Modified: 2004-05-28 08:17 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Master One 2004-05-26 12:17:15 UTC
This problem was discovered on an ASUS A7N8X-Deluxe Rev.2.00 motherboard with actual bios V1007 and two new ST3160023AS 160GB SATA drives connected to the onboard Silicon Image 3112A SATA controller. I tried several different 2.6 kernel versions with similiar configuration installed on an additional PATA drive to access the SATA drives, used siimage & libata + sata_sil, but everything I tried ended up with a transfer rate of only 15 MB/sec instead of the expected 55 MB/sec. The problem seems not be related to the siimage ot libata + sata_sil drivers, nor is it a hardware / IRQ / bios-setting or any other related problem. The only way of getting full 55 MB/sec transfer rate was booting from the 2004.1 livecd using smp kernel or booting from the LiveCD-Gentoo-Reiser4 RedeeLive. I have no explaination for that issue, but it is reproduceable and totally insane. Please have a look at my extensive forum topic, I have posted all necessary output and information about this issue:

http://forums.gentoo.org/viewtopic.php?t=177788

Reproducible: Always
Steps to Reproduce:
1.Setting up a complete new installation, choosing any 2.6 kernel with proper configuration, siimage & libata + sata_sil as modules.
2.Booting into the new installation, modprobing eihter siimage or sata_sil.
3.It does not matter what you try, you will not get more than 15 MB/sec transfer rate on a connected SATA drive (it has nothing to do with the siimage patch)

Actual Results:  
Nothing else, I simply am unable to get more than 15 MB/sec transfer rate from
the SATA drives, it does not matter if choosing siimage or sata_sil, if applying
the known patch to the siimage driver, nothing seems to be able to influence
this behavior.

Expected Results:  
When booting from the mentioned livecds (it's on both a 2.6.5 kernel, but with
different configuration and patches), the access to the SATA drives is exactly
fine with about 55 MB/sec, but I am absolutely unable to reproduce this normal
behavior on an actual performed installation on an additional PATA drive.

This is my first bug report, I am sorry to be unable to write here in more
details, but I already have posted every single details, every relevant output I
got (dmesg, hdparm results, kernel config, test-methodes), and every single step
I tried in my forum post. Please have a look at that.
Comment 1 Master One 2004-05-28 07:11:35 UTC
After two more days of extensive trial & error testing on the config file from the working LiveCD-Gentoo-Reiser4 RedeeLive, I finally found the

!!! SOLUTION !!!!

to this hardcore-problem.

You would never have imagined, what's causing this SATA-low-transfer-rate-problem: It's the obsolete DEVFS !!!

What I didn't take a closer look at, was the following error messages, that came during each boot:

-----
* Running hdparm on disc1...
* Failed to start hdparm on disc1.

* Running hdparm on disc2...
* Failed to start hdparm on disc2.
-----

I didn't care, because of course hdparm settings can not be applied to scsi-drives eg. SATA drives detected as scsi-drives (since the last two days, I only concentrated on the use of sata_sil + libata).

Every time I saw that hdparm errors, I already knew, that hdparm -t would only bring up about 14 MB/sec transfer-rate.

So this is what you have to enable in your kernel to get it working:

-----
File Systems --->
   Pseudo filesystems --->
      [*] /dev file system support (OBSOLETE)
      [*]   Automatically mount at boot (NEW)
-----

After the recompile and reboot, the hdparm error message during boot changes into the following:

-----
* Skipping disc1 hdparm does not support SCSI devices.
* Skipping disc2 hdparm does not support SCSI devices.
-----

and hdparm -t brings up the full transfer-rate of about 55 MB/sec !!!

Bloody hell, what a fight, and what a waste of time. Of course I configured all my systems to abandon the obsolete DEVFS, using udev + hotplug, so how should someone guess that this can cause such a weird problem, if no error message comes up telling what's wrong. Of course I would have become suspicious, if /dev/sda and /dev/sdb wouldn't have shown up at all, that udev could be behind it, but they were always there, it was just that loss in transfer-rate.

So how can this be explained?

Is it a serious bug?
Or can this be prevented by creating an udev rule ???

I don't see the point of having to stick with the obsolete DEVFS, if I have udev up and runnng without any other problem.
Comment 2 Daniel Drake (RETIRED) gentoo-dev 2004-05-28 08:08:50 UTC
Probably related to:
http://marc.theaimsgroup.com/?l=linux-hotplug-devel&m=108547985002942&w=2
http://marc.theaimsgroup.com/?l=linux-hotplug-devel&m=108548292915842&w=2

This is a situation where hdparm is giving useless values. I think you will find that the system runs at good speeds in general usage, just hdparm says you are running slow.

I'd suggest trying kernel 2.6.7-rc1-mm1. This appears to have solved the problem for me, hdparm now operates at full speed.
Comment 3 Daniel Drake (RETIRED) gentoo-dev 2004-05-28 08:17:22 UTC
Patch can be found on this thread:
http://marc.theaimsgroup.com/?l=linux-kernel&m=108551093231241&w=2

This solves the issue, and has been merged into 2.6.7-rc1-mm1.