Tejun Heo wrote:
Hello,
Robert Hancock wrote:
If I recall correctly, The reported shadow register contents are bogus
when a timeout occurs. So we don't actually know what the drive
state was.
Or do we, Tejun?
Yeah, it's bogus. Maybe we should just report zeros.
Didn't know that. Shouldn't we be able to do a qc_fill_rtf before error
handling in this case? That would make it easier to tell if we lost an
interrupt or if the drive is just taking too long..
I think Alan already did it in the patches which added improved
timeout handling callback. Hmmm... Can't find it. I thought it was
in #upstream. Anyways, I'm slightly worried about reading status
blindly after timeout mainly due to experiences I had early while
developing libata EH. Some controllers were simply scary and very
eager to lock up the whole machine. That said, it could be that I'm
just overly paranoid. After all, with shared IRQ, we don't have
control over when altstatus is read at least.
For some of these timeout issues I think it would make things a bit
easier to diagnose, certainly.. With some controllers there might be a
little bit of risk (nForce4 seems to be one of those twitchy ones,
whether in ADMA mode or not, at least for command errors, possibly not
for timeouts), however certainly for ones like AHCI which just store the
D2H register FIS in memory, there's really no reason not to read it out..
--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html