Ubuntu: DMA not enabled on old hardware



Question:

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    /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    /dev/sdb2:    ATA device, with non-removable media          Model Number:       WDC WD1600JB-00GVA0                               Serial Number:      WD-WCAL91665091          Firmware Revision:  08.02D08  Standards:          Supported: 6 5 4           Likely used: 8  Configuration:          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)  Capabilities:          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  Commands/features:          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)  Security:                   supported          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?


Solution:1

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.


Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Previous
Next Post »