How to turn on/off DMA

dragoran drago01 at gmail.com
Wed May 2 12:55:50 UTC 2007


Doncho N. Gunchev wrote:
> What was not clear in my question, I asked how do I do turn DMA on/off with 
> the new kernels, not why I should not do this? Is there a reason to keep this 
> secret?
>   
I don't know the exact reason; but its as simple as "there is no  need 
to" (libata never allowed this; so it was always the case for sata drives)
> Here's the info for my DVD-Writer, it has DMA off in FC6 and I'm turning it on 
> in rc.local to get it working faster.
which is a bug, please fill one (kernel)...
>  I also have to 'killall 
> hald-addon-storage' (or more specificly, the one that monitors my DVD) or the 
> machine (laptop) will die in a few hours (does not matter if I have DMA on, 
> off or if I try to play with /usr/share/hal/fdi/policy/10osvendor/*.fdi. 
>   
also a bug fill it against hal
> Haven't seen it locking for this reason with F7t4 yet.
> --- Fedora Core 6 ---
> # hdparm -i /dev/hdb
>
> /dev/hdb:
>
>  Model=TSSTcorpCD/DVDW TS-L632D, FwRev=AC01, SerialNo=
>  Config={ Fixed Removeable DTR<=5Mbs DTR>10Mbs nonMagnetic }
>  RawCHS=0/0/0, TrkSize=0, SectSize=0, ECCbytes=0
>  BuffType=unknown, BuffSize=0kB, MaxMultSect=0
>  (maybe): CurCHS=0/0/0, CurSects=0, LBA=yes, LBAsects=0
>  IORDY=on/off, tPIO={min:227,w/IORDY:120}, tDMA={min:120,rec:120}
>  PIO modes:  pio0 pio1 pio2 pio3 pio4
>  DMA modes:  mdma0 mdma1 mdma2
>  UDMA modes: udma0 udma1 *udma2
>  AdvancedPM=no
>
>  * signifies the current active mode
>
> # hdparm /dev/hdb
>
> /dev/hdb:
>  IO_support   =  0 (default 16-bit)
>  unmaskirq    =  0 (off)
>  using_dma    =  0 (off)
>  keepsettings =  0 (off)
>  readonly     =  0 (off)
>  readahead    = 256 (on)
>  HDIO_GETGEO failed: Inappropriate ioctl for device
>
> *** There is a difference when hdparm /dev/hdb shows DMA on - when I watch DVD 
> movie it works (and the time taken by the kernel while reading the DVD drops 
> down), when off - it skips frames and looses a/v sync.
>   
I know that there is a difference between dma on and off ;)
> --- Fedora 7 test 4 ---
> # ll /dev/dvdrw
> lrwxrwxrwx 1 root root 4  2 май  0,56 /dev/dvdrw -> scd0
> # hdparm -i /dev/scd0
>
> /dev/scd0:
>
>  Model=TSSTcorpCD/DVDW TS-L632D                , FwRev=AC01    , SerialNo=
>  Config={ Fixed Removeable DTR<=5Mbs DTR>10Mbs nonMagnetic }
>  RawCHS=0/0/0, TrkSize=0, SectSize=0, ECCbytes=0
>  BuffType=unknown, BuffSize=0kB, MaxMultSect=0
>  (maybe): CurCHS=0/0/0, CurSects=0, LBA=yes, LBAsects=0
>  IORDY=on/off, tPIO={min:227,w/IORDY:120}, tDMA={min:120,rec:120}
>  PIO modes:  pio0 pio1 pio2 pio3 pio4
>  DMA modes:  mdma0 mdma1 mdma2
>  UDMA modes: udma0 udma1 *udma2
>  AdvancedPM=no
>
>  * signifies the current active mode
>
>   
this seems correct (udma33)
> # hdparm /dev/scd0
>
> /dev/scd0:
>  IO_support   =  0 (default 16-bit)
>  readonly     =  0 (off)
>  readahead    = 256 (on)
>  HDIO_GETGEO failed: Inappropriate ioctl for device
>
>   
ok hdparm seems not to report the dma flag here.... tested on my box and 
it seems that it does not do it for harddisks either (SATA)
but again if the kernel does not enable the dmamode for you _its a bug_ 
so please file one against kernel (one for fc6 and one for f7)




More information about the fedora-test-list mailing list