hdparm question: HDIO_SET_DMA failed: Inappropriate ioctl for device

Bill Davidsen davidsen at tmr.com
Tue Nov 27 14:56:59 UTC 2007


Antonio Olivares wrote:
> --- Jeff Spaleta <jspaleta at gmail.com> wrote:
> 
>> On Nov 26, 2007 4:30 PM, Antonio Olivares
>> <olivares14031 at yahoo.com> wrote:
>>> If one enables hdparm DVD playback will not be
>> jumpy, however when applying hdparm I get
>>
>> Perhaps the libata faq will give you the most basic
>> answer
>> http://linux-ata.org/faq.html#old_ioctls
>>
>> Now are you sure that the drive isn't already using
>> dma by default?
>>
>> hdparm -i /dev/cdrom
>>
>> will list the supported DMA modes and will indicate
>> which one is
>> currently in use. By default my DVD drive has the
>> most advanced DMA
>> enabled by default
>>
>>  DMA modes:  sdma0 sdma1 sdma2 mdma0 mdma1 mdma2
>>  UDMA modes: udma0 udma1 *udma2
>>
>>  * signifies the current active mode
> 
> [root at localhost ~]# hdparm -i /dev/cdrom
> 
> /dev/cdrom:
> 
>  Model=TSSTcorpCD/DVDW SH-S182D                ,
> FwRev=SB03    , 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
> 
> [root at localhost ~]# 
> 
So it's using DMA already at the highest supported speed. Have you 
checked readahead?
   blockdev --getra /dev/cdrom
I suggest at least 8MB of readahead here, that should keep up with the 
demand. Note: don't go crazy with this, people have reported learning 
experiences with settings in the 32MB range. If 8 doesn't do it, that's 
not likely to be the problem.
   blockdev --setra 8192 /dev/cdrom

It's likely that the reason you are not having success is that your are 
solving the wrong problem. Are you running a recent kernel? The 2.6.23 
and later CFS scheduler may help.

-- 
Bill Davidsen <davidsen at tmr.com>
   "We have more to fear from the bungling of the incompetent than from
the machinations of the wicked."  - from Slashdot




More information about the fedora-list mailing list