Viewing IDE device DMA capabilities on Linux hosts
Most modern drives support DMA, and the Linux IDE driver will use DMA if a device supports it. To check if a device is using DMA on a Linux host, you can cat /proc/ide/piix:
$ cat /proc/ide/piix
Controller: 0
Intel PIIX4 Ultra 100 Chipset.
--------------- Primary Channel ---------------- Secondary Channel -------------
enabled enabled
--------------- drive0 --------- drive1 -------- drive0 ---------- drive1 ------
DMA enabled: yes yes yes yes
UDMA enabled: yes yes yes yes
UDMA enabled: 5 5 5 5
UDMA
DMA
PIO
The output contains a “yes” or “no” to indicate if DMA is enabled, and a line to indicate which DMA mode is in use. If for some reason DMA isn’t being used with a device, you can use hdparm to enable it.








Jonathan on February 7th, 2007
Would you have some time to explain how DMA is handled with USB HDDs?
I’m using kernel 2.6.17-10-generic. I have been reading, and still can’t figure out how to check DMA for my USB hard-drive guys.
cat /proc/dma does not seem to indicate any DMA goings on when I’m using the drive.
-J