The Linux kernel is intelligent enough to recognize the chipset and IDE controllers on the motherboard and subsequently enable DMA for IDE devices like hard disks and CD ROMs. In some rare cases the kernel does not recognize the chipset or due to some BIOS related problems, DMA might not be enabled. On Linux, you can check whether DMA is enabled or not using the command hdparm as:
hdparm
Here the device file name represents the IDE interface to which the hard disk or CDROM drive is connected. Refer to How Linux refers to IDE devices on page 126. For example to check whether DMA is enabled for the primary master IDE device, issue:
hdparm /dev/hda
From the displayed output you will see a line as:
using_dma = 1 (on)
This means DMA is ‘on’ for the primary master device. Instead if the output shows:
using_dma = 0 (off)
Then it means DMA is ‘off’. You can try to enable the DMA forcibly using the following command:
hdparm -d1
Subsequently you can check out the throughput or data transfer rate of an IDE device as:
hdparm -tT
This displays the time taken for reading data from the hard disk or CD as well as reading data from their caches.