Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

While working on an old hardware where Ubuntu is installed I noticed using top that a huge amount of CPU time was spent waiting for IO operations (network data transfer was in progress). I therefore checked for DMA state using this command:

sudo hdparm -d /dev/sdb2

 HDIO_GET_DMA failed: Inappropriate ioctl for device

Does this mean the device is not using DMA? I also tried to retrieve information about the hardware and got this:

sudo hdparm -I /dev/sdb2


ATA device, with non-removable media
        Model Number:       WDC WD1600JB-00GVA0                     
        Serial Number:      WD-WCAL91665091
        Firmware Revision:  08.02D08
        Supported: 6 5 4 
        Likely used: 8
        Logical         max     current
        cylinders       4092    65535
        heads           16      1
        sectors/track   63      63
        CHS current addressable sectors:    4128705
        LBA    user addressable sectors:   66055248
        LBA48  user addressable sectors:  312581808
        Logical/Physical Sector size:           512 bytes
        device size with M = 1024*1024:      152627 MBytes
        device size with M = 1000*1000:      160041 MBytes (160 GB)
        cache/buffer size  = 8192 KBytes (type=DualPortCache)
        LBA, IORDY(can be disabled)
        Standby timer values: spec'd by Standard, with device specific minimum
        R/W multiple sector transfer: Max = 16  Current = 16
        Recommended acoustic management value: 128, current value: 254
        DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 *udma5 
             Cycle time: min=120ns recommended=120ns
        PIO: pio0 pio1 pio2 pio3 pio4 
             Cycle time: no flow control=120ns  IORDY flow control=120ns
        Enabled Supported:
           *    SMART feature set
                Security Mode feature set
           *    Power Management feature set
           *    Write cache
           *    Look-ahead
           *    Host Protected Area feature set
           *    WRITE_BUFFER command
           *    READ_BUFFER command
           *    DOWNLOAD_MICROCODE
                SET_MAX security extension
                Automatic Acoustic Management feature set
           *    48-bit Address feature set
           *    Device Configuration Overlay feature set
           *    Mandatory FLUSH_CACHE
           *    FLUSH_CACHE_EXT
           *    SMART error logging
           *    SMART self-test
           *    SMART Command Transport (SCT) feature set
           *    SCT Long Sector Access (AC1)
           *    SCT LBA Segment Access (AC2)
           *    SCT Error Recovery Control (AC3)
           *    SCT Features Control (AC4)
           *    SCT Data Tables (AC5)
        not     enabled
        not     locked
        not     frozen
        not     expired: security count
        not     supported: enhanced erase
HW reset results:
        CBLID- above Vih
        Device num = 1 determined by the jumper
Checksum: correct

It is my understanding from this that DMA should be supported. Why am I getting that error and is it unusual that top shows values higher than 90% for "iowait" operations when two network transfers are running?

share|improve this question

I get the same message you do on two very different computers on 10.04 and 12.04 respectively. Adding making -d -d1 says it is turning it on, but I suspect the messages tells us it isn't really effective.

I'm getting good disk access, however.

I once had trouble with slow disk response and, if I recall correctly, it was because DMA wasn't working. The cause was a bad ribbon cable that had been manipulated one time too many so it had a broken control lead used for DMA. Replacing the ribbon cable greatly increased performance.

In my case I saw a warning message at boot time that went away once I replaced the cable. I suggest you look at /var/log/syslog for any suspicious looking messages about your disk adapter or drive.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.