Bad SATA (Sil 3112A) performance with kernel 2.6.8

Randy Kelsoe randykel at swbell.net
Fri Aug 27 13:03:12 UTC 2004


Andrey Andreev wrote:

> Hi,
>
> I upgraded my 2.6.6 kernel to 2.6.8 (the fedora update). I run a SATA 
> drive on a Sil 3112A controller. I quickly noticed that the SATA drive 
> was no longer visible under /dev/hde, but under /dev/sda, fixed my 
> fstab, etc.
>
> However, as Sil 3112 has had very varied performance with different 
> kernels, and there obviously was a change in the way it worked, I ran:
>
> [andrei at brie andrei]$ sudo /sbin/hdparm -t -T /dev/sda
> /dev/sda:
>  Timing buffer-cache reads:   1564 MB in  2.00 seconds = 780.95 MB/sec
>  Timing buffered disk reads:   44 MB in  3.12 seconds =  14.11 MB/sec

I have not seen this slowdown:

[root at quicksilver home]# uname -r
2.6.8-1.521
[root at quicksilver home]# sbin/hdparm -t -T /dev/sda
 Timing buffer-cache reads:   1524 MB in  2.00 seconds = 761.73 MB/sec
 Timing buffered disk reads:  132 MB in  3.01 seconds =  43.85 MB/sec

> Which is pretty awfuly slow, compared to 2.6.6 (over 50 MB/sec). 
> Otherwise, I can spot no other errors or problems with it.
>
> Any pointers as to what I should change? Is this a common result with 
> that controller?
>
> See the relevant dmesg part
>
> 8<--------------------------------------->8
>
> SCSI subsystem initialized
> libata version 1.02 loaded.
> sata_sil version 0.54
> ACPI: PCI interrupt 0000:01:0c.0[A] -> GSI 11 (level, low) -> IRQ 11
> ata1: SATA max UDMA/100 cmd 0x2285D080 ctl 0x2285D08A bmdma 0x2285D000 
> irq 11
> ata2: SATA max UDMA/100 cmd 0x2285D0C0 ctl 0x2285D0CA bmdma 0x2285D008 
> irq 11
> ata1: dev 0 cfg 49:2f00 82:346b 83:7d01 84:4003 85:3469 86:3c01 
> 87:4003 88:207f
> ata1: dev 0 ATA, max UDMA/133, 312581808 sectors: lba48
> ata1(0): applying Seagate errata fix
> ata1: dev 0 configured for UDMA/100
> scsi0 : sata_sil
> ata2: no device found (phy stat 00000000)
> scsi1 : sata_sil
>   Vendor: ATA       Model: ST3160023AS       Rev: 3.18
>   Type:   Direct-Access                      ANSI SCSI revision: 05


Mine looks like:

libata version 1.02 loaded.
sata_sil version 0.54
ACPI: PCI interrupt 0000:01:0d.0[A] -> GSI 11 (level, low) -> IRQ 11
ata1: SATA max UDMA/100 cmd 0x4285D080 ctl 0x4285D08A bmdma 0x4285D000 
irq 11
ata2: SATA max UDMA/100 cmd 0x4285D0C0 ctl 0x4285D0CA bmdma 0x4285D008 
irq 11
ata1: dev 0 cfg 49:2f00 82:346b 83:7f21 84:4003 85:3469 86:3c01 87:4003 
88:203f
ata1: dev 0 ATA, max UDMA/100, 234441648 sectors: lba48
ata1: dev 0 configured for UDMA/100
scsi0 : sata_sil
ata2: no device found (phy stat 00000000)
scsi1 : sata_sil
  Vendor: ATA       Model: WDC WD1200JD-00G  Rev: 02.0
  Type:   Direct-Access                      ANSI SCSI revision: 05

so, it looks like the big difference is the drive itself. Yours is a 
Seagate, and mine is a Western Digital.

Also, from the man pages of hdparm, for the -t and the -T options:

              For meaningful  results,  this  operation  should  be
              repeated  2-3  times  on  an otherwise inactive system (no 
other
              active processes) with at least a couple of  megabytes  
of  free
              memory.









More information about the users mailing list