Re: 5.3-RELEASE: WARNING - WRITE_DMA interrupt timout

From: Frode Nordahl <frode_at_nordahl.net>
Date: Sun, 14 Nov 2004 10:27:32 +0100
On Nov 13, 2004, at 11:29, Søren Schmidt wrote:

> Poul-Henning Kamp wrote:
>> In message <4195DB3E.2040807_at_DeepCore.dk>, 
>> =?ISO-8859-1?Q?S=F8ren_Schmidt?= wri
>> tes:
>>>> It is not really the task of the ata driver to fail requests at that
>>>> time.   How long is the timeout anyway ?
>>>
>>> Oh, ATA doesn't fail them, it just yells that the request hasn't 
>>> been finished yet by the upper layers, it doesn't do anything to the 
>>> request.
>>>
>>> Timeout is 5 secs, which is a pretty long time in this context IMHO..
>> Five seconds counted from when ?
>
> Now thats the nasty part :)
> ATA starts the timeout when the request is issued to the device, so 
> theoretically the disk could take 4.9999 secs to complete the request 
> and then the timeout fires before the taskqueue gets its chance at it, 
> but IMHO thats pretty unlikely...
>
> Anyhow, I can just remove the warning from ATA if that makes anyone 
> happy, since its just a warning and ATA doesn't do anything with it at 
> all.
> However, IMNHO this points at a problem somewhere that we should 
> better understand and fix instead.

Please don't remove the warning until we can find and fix this problem! 
Even if it may not be ATA related, your warning is by now the only way 
to tell me when the problem occurs :-)

I have two brand new systems which I have installed 5.3-R on who show 
this problem. They are two way 3.06GHz Xeons, and when run in SMP mode, 
the system will often panic shortly after these warnings occur, most 
often in UFS code.

Since we don't know what or where the problem is, the traces might be 
completely bogus, but I include them anyway: 
http://home.powertech.no/frode/freebsd/

I have just installed CURRENT on one of them, haven't gotten around to 
make it crash yet, but I get this:

ad4: TIMEOUT - WRITE_DMA retrying (2 retries left) LBA=119959919
ad4: FAILURE - WRITE_DMA timed out
g_vfs_done():ad4s1f[WRITE(offset=43971141632, length=2048)]error = 5
initiate_write_filepage: already started
ad4: TIMEOUT - WRITE_DMA retrying (2 retries left) LBA=120428639
ad4: FAILURE - WRITE_DMA timed out
g_vfs_done():ad4s1f[WRITE(offset=44211126272, length=16384)]error = 5


 From ffs_softdep.c:
         if (pagedep->pd_state & IOSTARTED) {
                 /*
                  * This can only happen if there is a driver that does 
not
                  * understand chaining. Here biodone will reissue the 
call
                  * to strategy for the incomplete buffers.
                  */
                 printf("initiate_write_filepage: already started\n");
                 return;
         }

Mvh,
Frode Nordahl

> -- 
>
> -Søren
>
> _______________________________________________
> freebsd-current_at_freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to 
> "freebsd-current-unsubscribe_at_freebsd.org"
Received on Sun Nov 14 2004 - 08:27:35 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:22 UTC