Hard Disk DMA/Kernel question

Duane Attaway dattaway at dattaway.org
Wed Jul 9 13:35:46 CDT 2003


On Wed, 9 Jul 2003, Jonathan Hutchins wrote:

> Ok, kernel gurus:  My laptop gives several lines of DMA failures on the
> hard drive when Linux is starting up.  I believe this just indicates
> that it's not a DMA compatible hard drive.  Is there a paramater I can
> pass the kernel at start time to tell it not to bother trying DMA disk
> access?

What is the exact DMA messgae?

If its a DMA timeout, that means the drive was slow to fill up its buffer
and catch the DMA bus.  When the DMA didn't see its scheduled passenger
board within the allowed time frame, it pulls away and calls the drive
AWOL.  This time-out feature is to prevent a drive that is possibly
malfunctioning from locking up the whole computer.

The DMA is a good method to transfer extremely large blocks of information
directly to the memory or other places without making the CPU doing it bit
by bit.  But since the DMA is so efficient, there needs to be some
safeguards.  If the drive isn't ready for it, the DMA should interrupt the
CPU with a failure code.  This lets the kernel try again or decide to give
up.

I'd try the ide-smart and hdparm utilities to check the integrety of the 
hard drive interface and make sure it has no problems moving freight on 
the bus.  Those two utilities should catch all communications problems 
with the drives and controller.

--
http://dattaway.org    




More information about the Kclug mailing list