Re: ata command timeout

From: Jeff Garzik
Date: Tue Feb 20 2007 - 10:38:02 EST


Mark Lord wrote:
I don't believe that. Command timeouts never happen on healthy systems,
unless we have a driver bug. Okay, so I can imagine a pathological case
of a full queue (NCQ) with all 32 commands taking longer than usual due
to ECC retries in the firmware..

It's not quite so black and white. There have definitely been interrupt delivery problems that cause command timeouts. Also, Intel PIIX BMDMA (all standard PCI IDE, I think?) is defined to /not/ send an interrupt, when a DMA error occurs. The driver is instructed to time out the transaction, and start recovery by deducing the state of things from the DMA status bits.

Nonetheless, I mostly agree with your statement. The two most common causes of timeouts that I see are interrupt delivery problems, and driver bugs.

Jeff


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/