ad0: WARNING - WRITE_DMA interrupt was seen but timeout fired LBA=21267353

Søren Schmidt sos at DeepCore.dk
Wed May 12 08:54:15 PDT 2004


Scott Long wrote:

> Taskqueues work just fine for other drivers.  I can't see anything
> obviously wrong with your use of the taskqueue (other than what we have
> talked about before), though you also use bio_taskqueue().  Looking in
> there, it has two additional mutexes that get locked when run.  Maybe
> there is an LOR or other such problem that is causing the stall.
> Running with WITNESS might reveal something.  You  might also just plain
> be missing the interrupt from the drive,, but that is harder to
> determine.

Well using the bio_taskqueue has made the problem go away on those few 
situations where I could provoke it, so that is actually a help.
I see no LOR's or anything else from witness.
I dont miss the interrupt, if you look at the code you will se that I 
have got the interrupt, read status from the device etc, but its the 
simple return via the biodone etc thats put on the taskqueue that 
doesn't get called in time for the timeout to fire...

Now the timeout is 5 secs so on a busy machine our lemming syncer can 
get the disksystem so busy that the first one appears because of that.

-- 
-Søren



More information about the freebsd-current mailing list