Skip to contentSkip to conversation

SiI2112 + Seagate + nFroce2: no DMA!

DISCUSSION manu 2 participants 4 messages Jan 20, 2004 – Jan 24, 2004

lore
Share & tools
lore

manu

author
#0 lore raw

Hi,

Forgive me for intruding in this list as an outsider.

I'm about to give up on my SATA drive as I can't get it to work properly. So I thought I may try asking the experts before falling back to PATA.

I have seen many mails reporting the same issue, some of them 6-month old:

- SATA drive comes up in pio mode, not in dma
- trying to turn on dma with hdparm is a nightmare: I/O errors, crash with data corruption... I tried both:

hddarm -d1 /dev/hde

and:

hdparm -u1 -c3 -d1 -X66 /dev/hde

crash in both cases :-((

Here's my equipment:

ABIT AN7 motherboard (nForce2 chipset, SiI3112 SATA controller) AMD Athlon XP 2600+ (+ 512 DDR / 400 MHz)
SATA HD Seagate Barracuda 160 Gb

The SATA HD is my only drive. The only thing connected to my IDE controllers is a DVD/CD combo.

Running Linux Redhat 9.0
kernel 2.4.20-28.9

Traces from dmesg:

<<<<<<<<<<
...
Uniform Multi-Platform E-IDE driver Revision: 7.00beta3-.2.4
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
NFORCE2: IDE controller at PCI slot 00:09.0
NFORCE2: chipset revision 162
NFORCE2: not 100% native mode: will probe irqs later
AMD_IDE: PCI device 10de:0065 (nVidia Corporation) (rev a2) UDMA100 controller o n pci00:09.0
ide0: BM-DMA at 0xf000-0xf007, BIOS settings: hda:DMA, hdb:DMA
ide1: BM-DMA at 0xf008-0xf00f, BIOS settings: hdc:DMA, hdd:DMA
SiI3112 Serial ATA: IDE controller at PCI slot 01:0b.0
SiI3112 Serial ATA: chipset revision 2
SiI3112 Serial ATA: not 100% native mode: will probe irqs later
, BIOS settings: hde:pio, hdf:pio
, BIOS settings: hdg:pio, hdh:pio
hda: PIONEER DVD-RW DVR-106D, ATAPI CD/DVD-ROM drive
hde: ST3160023AS, ATA DISK drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide2 at 0xe080d080-0xe080d087,0xe080d08a on irq 11
hde: attached ide-disk driver.
hde: host protected area => 1
hde: 312581808 sectors (160042 MB) w/8192KiB Cache, CHS=19457/255/63 ide-floppy driver 0.99.newide
Partition check:
hde: hde1 hde2 hde3
ide-floppy driver 0.99.newide
md: md driver 0.90.0 MAX_MD_DEVS=256, MD_SB_DISKS=27
md: Autodetecting RAID arrays.
md: autorun ...
md: ... autorun DONE.

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

I've been googling for days now and could not come accross a solution, on the contrary I came under the impression that the combination of SiI3112 +and Seagate was doomed.

I cannot use this brand new computer for anything else then mail and web, performance is catastrophic:

<<<<<<<<<<
[root]# hdparm -Tt /dev/hde

/dev/hde:

Timing buffer-cache reads:   128 MB in  0.33 seconds =387.88 MB/sec
Timing buffered disk reads:  64 MB in 48.49 seconds =  1.32 MB/sec
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

1.32 MB !!!!! I should be getting 50 MB at least.

Isn't there a solution??

I am willing to try patches of experimental code. At this point I am looking at reinstalling everything on a PATA drive anyway, so I have nothing to loose.

Thanks,

Emmanuel.

PS: please CC me in the reply as I am not subscribed to this list.

#1 lore raw

On Tue, Dec 31, 2002 at 09:55:59PM -0800, manu wrote:

Incidentally, did you know that the date on your computer is very,
very wrong?

Quoted 25 lines

I'm about to give up on my SATA drive as I can't get it to work properly. So I thought I may try asking the experts before falling back to PATA.

I have seen many mails reporting the same issue, some of them 6-month old:

- SATA drive comes up in pio mode, not in dma
- trying to turn on dma with hdparm is a nightmare: I/O errors, crash with data corruption... I tried both:

hddarm -d1 /dev/hde

and:

hdparm -u1 -c3 -d1 -X66 /dev/hde

crash in both cases :-((

Here's my equipment:

ABIT AN7 motherboard (nForce2 chipset, SiI3112 SATA controller) AMD Athlon XP 2600+ (+ 512 DDR / 400 MHz)
SATA HD Seagate Barracuda 160 Gb

Quoted 5 lines

The SATA HD is my only drive. The only thing connected to my IDE controllers is a DVD/CD combo.

Running Linux Redhat 9.0
kernel 2.4.20-28.9

^^^^^^^^^^^^^^^^^^
This is your problem. There have been a number of bug-fixes to the
SiI drivers since 2.4.20. Try it again with a newer kernel -- such as 2.4.24.

Quoted 3 lines

I've been googling for days now and could not come accross a solution, on the contrary I came under the impression that the combination of SiI3112 +and Seagate was doomed.

Not so. I have a SiI3112 controller and a 120GiB Seagate drive, and
they work very well together. I'm using 2.6.1, although 2.4.23 also worked well for me.

[snip]

Quoted 5 lines

Isn't there a solution??

I am willing to try patches of experimental code. At this point I am looking at reinstalling everything on a PATA drive anyway, so I have nothing to loose.

Try using 2.4.24 or 2.6.1.

Hugo.

Signature · 3 lines
=== Hugo Mills: hugo@... carfax.org.uk | darksatanic.net | lug.org.uk ===
  PGP key: 1C335860 from wwwkeys.eu.pgp.net or http://www.carfax.org.uk
           --- All hope abandon,  Ye who press Enter here. ---           
author
#2 lore raw

Wonderful, so there is hope!

Yep my date was wrong because I was just coming back from flashing the BIOS with a new version and clearing CMOS, which did not change a darn thing and pushed me to send this mail :-)

RedHat seems to be releasing relatively old kernel so (what I have is the latest from them), must say I never paid attention to it, now I will.

Thanks so much,

Emmanuel.

Quoted 68 lines · Hugo Mills

On Tue, Dec 31, 2002 at 09:55:59PM -0800, manu wrote:

Incidentally, did you know that the date on your computer is very,
very wrong?

Quoted 21 lines

I'm about to give up on my SATA drive as I can't get it to work properly. So I thought I may try asking the experts before falling back to PATA.

I have seen many mails reporting the same issue, some of them 6-month old:

- SATA drive comes up in pio mode, not in dma
- trying to turn on dma with hdparm is a nightmare: I/O errors, crash with data corruption... I tried both:

hddarm -d1 /dev/hde

and:

hdparm -u1 -c3 -d1 -X66 /dev/hde

crash in both cases :-((

Here's my equipment:

Quoted 10 lines

ABIT AN7 motherboard (nForce2 chipset, SiI3112 SATA controller) AMD Athlon XP 2600+ (+ 512 DDR / 400 MHz)
SATA HD Seagate Barracuda 160 Gb

The SATA HD is my only drive. The only thing connected to my IDE controllers is a DVD/CD combo.

Running Linux Redhat 9.0
kernel 2.4.20-28.9

^^^^^^^^^^^^^^^^^^
This is your problem. There have been a number of bug-fixes to the
SiI drivers since 2.4.20. Try it again with a newer kernel -- such as 2.4.24.

Quoted 3 lines

I've been googling for days now and could not come accross a solution, on the contrary I came under the impression that the combination of SiI3112 +and Seagate was doomed.

Not so. I have a SiI3112 controller and a 120GiB Seagate drive, and
they work very well together. I'm using 2.6.1, although 2.4.23 also worked well for me.

[snip]

Quoted 5 lines

Isn't there a solution??

I am willing to try patches of experimental code. At this point I am looking at reinstalling everything on a PATA drive anyway, so I have nothing to loose.

Try using 2.4.24 or 2.6.1.

Hugo.

#3 lore raw
In reply to Hugo Mills

Hi Hugo,

I have re-installed my machine with Fedora Core 1 (thinking a newer version than RH9 would make the jump to 2.4.24 or 2.6 easier), and this fixed the DMA issue :-)

Now my SATA drive is running stable in UDMA6.

However, performance is still way below expectations.

I got a huge improvement: my disc read speed (hdparm -t) went from 1.3 to 25 MB/sec.
This is still slower than my PATA drive on my 3 years old AMD 900 PC running Redhat 9.0 (around 35 MB/sec).

Could you please let me know what you are getting so I know what to expect?

My next step is to try 2.4.24 or 2.6.1 as you suggested, but googling around a little bit before I do so I found out a few worrying things:

- people have reported a drop in performance on SATA in some 2.6 based kernel (2.6.0-test9), with reported speeds around 20MB/sec. Apparently there is no more way to tune max_kb_per_req in 2.6??
- I have found reports that both ide and libdata libraries are limiting max_kb_per_req to 15 Kb specifically for Seagate drives. So It looks like I can't even set it to 128 (I did not even try as I saw reports of memory corruption).

So basically since you've got it to work I'd like to know:

* what speed you get, and what is the RPM of your Seagate
* what is your max_kb_per_req setting (I have 15K)
* what is your accoustic management setting (I have 0)

I could not fix the time on linux so I am sending this mail from WinXP (just kidding I lost my mails on the linux machine after re-installing :-).

Thanks,

Emmanuel.

-----Message d'origine-----
De : Hugo Ranger Mills [mailto:[email protected]]De la part de Hugo Mills
Envoye : Tuesday, January 20, 2004 12:58 AM
A : manu
Cc : [email protected]
Objet : Re: SiI2112 + Seagate + nFroce2: no DMA!

On Tue, Dec 31, 2002 at 09:55:59PM -0800, manu wrote:

Incidentally, did you know that the date on your computer is very,
very wrong?

Quoted 25 lines

I'm about to give up on my SATA drive as I can't get it to work properly. So I thought I may try asking the experts before falling back to PATA.

I have seen many mails reporting the same issue, some of them 6-month old:

- SATA drive comes up in pio mode, not in dma
- trying to turn on dma with hdparm is a nightmare: I/O errors, crash with data corruption... I tried both:

hddarm -d1 /dev/hde

and:

hdparm -u1 -c3 -d1 -X66 /dev/hde

crash in both cases :-((

Here's my equipment:

ABIT AN7 motherboard (nForce2 chipset, SiI3112 SATA controller) AMD Athlon XP 2600+ (+ 512 DDR / 400 MHz)
SATA HD Seagate Barracuda 160 Gb

Quoted 5 lines

The SATA HD is my only drive. The only thing connected to my IDE controllers is a DVD/CD combo.

Running Linux Redhat 9.0
kernel 2.4.20-28.9

^^^^^^^^^^^^^^^^^^
This is your problem. There have been a number of bug-fixes to the
SiI drivers since 2.4.20. Try it again with a newer kernel -- such as 2.4.24.

Quoted 3 lines

I've been googling for days now and could not come accross a solution, on the contrary I came under the impression that the combination of SiI3112 +and Seagate was doomed.

Not so. I have a SiI3112 controller and a 120GiB Seagate drive, and
they work very well together. I'm using 2.6.1, although 2.4.23 also worked well for me.

[snip]

Quoted 5 lines

Isn't there a solution??

I am willing to try patches of experimental code. At this point I am looking at reinstalling everything on a PATA drive anyway, so I have nothing to loose.

Try using 2.4.24 or 2.6.1.

Hugo.

--
=== Hugo Mills: hugo@... carfax.org.uk | darksatanic.net | lug.org.uk ===
PGP key: 1C335860 from wwwkeys.eu.pgp.net or http://www.carfax.org.uk
--- All hope abandon, Ye who press Enter here. ---