[mythtv-users] SATA and DMA (SIIG 3112)

Brian Wood beww at beww.org
Fri Mar 31 18:16:35 UTC 2006


On Mar 31, 2006, at 10:53 AM, leland sindt wrote:

> First off, if this is too far off topic, please let me know... (a
> suggestion as to where to take it would be helpful as well :)
>
> I have not been able to enable DMA for the SATA drive that I am using
> for MythTV recording storage. At the moment its preforming 'Ok' but  
> when
> the drive gets busy (two NTSC and one HD recording at the same time) I
> tend to get some 'prebuffering pause' Add a commercial flag process to
> get mix and things get worse...
>
> Given the information below, do you all have any suggestions?  The
> information returned by dmesg lead *me* to believe that DMA should be
> available/enabled.
>
> Note: I tried the PCI latency trick, and its seems to have helped a
> little... (it was initially 32)
>
> /sbin/setpci -v -s 00:0a.0 latency_timer=ff
> lspci -v
> <snip>
> 00:0a.0 Mass storage controller: Silicon Image, Inc. SiI 3112
> [SATALink/SATARaid] Serial ATA Controller (rev 02)
>         Subsystem: Silicon Image, Inc. SiI 3112 SATALink Controller
>         Flags: bus master, 66Mhz, medium devsel, latency 240, IRQ 11
>         I/O ports at e300 [size=8]
>         I/O ports at e400 [size=4]
>         I/O ports at e500 [size=8]
>         I/O ports at e600 [size=4]
>         I/O ports at e700 [size=16]
>         Memory at e4081000 (32-bit, non-prefetchable) [size=512]
>         Expansion ROM at 20000000 [disabled] [size=512K]
>         Capabilities: [60] Power Management version 2
>
> I am using the following hardware.
>
> SIIG 2-port internal Serial ATA II (eSATA) PCI controller (SC- 
> SA0012-S1)
> using the 3112 chipset.
> Hitachi 250 GB SATA drive (HDT722525DLA380)
> (complete list -> http://www.mythtv.org/wiki/index.php/User:Ll )
>
> Linux Kernel v2.6.15.6, with the following settings (specific to the
> SATA controller)
>
> Device Drivers -> SCSI device support  -> SCSI low-level drivers  ->
> Silicon Image SATA support
> "This option enables support for Silicon Image Serial ATA."
> Device Drivers -> ATA/ATAPI/MFM/RLL support -> Silicon Image  
> chipset support
> "This driver adds PIO/(U)DMA support for the SI CMD680 and SII 3112
> (Serial ATA) chips."
>
> dmesg:
> <snip>
> ata1: SATA max UDMA/100 cmd 0xD0802080 ctl 0xD080208A bmdma 0xD0802000
> irq 11
> ata2: SATA max UDMA/100 cmd 0xD08020C0 ctl 0xD08020CA bmdma 0xD0802008
> irq 11
> ata1: dev 0 cfg 49:2f00 82:346b 83:7fe9 84:4773 85:3469 86:3c01  
> 87:4763
> 88:207f
> ata1: dev 0 ATA-7, max UDMA/133, 488397168 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: HDT722525DLA380   Rev: V44O
>   Type:   Direct-Access                      ANSI SCSI revision: 05
> SCSI device sda: 488397168 512-byte hdwr sectors (250059 MB)
> SCSI device sda: drive cache: write back
> SCSI device sda: 488397168 512-byte hdwr sectors (250059 MB)
> SCSI device sda: drive cache: write back
>  sda: sda1
> sd 0:0:0:0: Attached scsi disk sda
> sd 0:0:0:0: Attached scsi generic sg0 type 0
>
> hdparm /dev/sda
> /dev/sda:
>  IO_support   =  0 (default 16-bit)
>  readonly     =  0 (off)
>  readahead    = 256 (on)
>  geometry     = 30401/255/63, sectors = 488397168, start = 0
>
>
>  hdparm -d1 /dev/sda
> /dev/sda:
>  setting using_dma to 1 (on)
>  HDIO_SET_DMA failed: Inappropriate ioctl for device


Hmmm...

I can tell you that I have two machines with SATA drives and they  
both behave in the precise manner that you show above, so I suspect  
it is normal. I think DMA is inherent in the SATA interface and its  
SCSI-emulated control, so the concept of "not" having DMA is  
meaningless.

Of course I have been wrong on some other drive-related things  
lately :-)

What does "hdparm -tT" show you? Two SD and one HD stream is a *lot*  
of data, you may be hitting the real limit of the drive system.


More information about the mythtv-users mailing list