i386/77643: SATA PCI controllers fail with WRITE_DMA errors under GMIRROR

Karl karl at denninger.net
Sun Mar 6 19:30:06 PST 2005


The following reply was made to PR i386/77643; it has been noted by GNATS.

From: "Karl" <karl at denninger.net>
To: <freebsd-gnats-submit at FreeBSD.org>, <karl at FS.denninger.net>
Cc:  
Subject: Re: i386/77643: SATA PCI controllers fail with WRITE_DMA errors under GMIRROR
Date: Sun, 6 Mar 2005 21:26:59 -0600

 In an attempt to mitigate this, I saw the following commit in the CVS =
 logs:
 
 
 mdodd       2005-03-02 04:01:37 UTC
 
   FreeBSD src repository
 
   Modified files:
     sys/dev/ata          ata-queue.c
   Log:
   When resubmitting a timed out request, reset donecount.
 
   Submitted by:     Nate Lawson <nate AT root.org>
 
   Revision  Changes    Path
   1.42      +1 -0      src/sys/dev/ata/ata-queue.c
 
 Is this change supposed to be "safe" against a 5.4-PRERELEASE kernel =
 from  =20
 today (CVSupped about 1700 CST)?
 
 If it is supposed to be, its NOT! =20
 
 It DOES fix the failure to requeue timed out requests, but it also =
 provokes=20
 radical destabilization of the interrupt system in the kernel (e.g. =
 receive=20
 serial interrupts "disappear", etc) leading evenutally to a panic.
 
 BTW, it <DOES> appear to fix the requeue problem with disks, and wth =
 this in
 a disk that takes a timeout (but is actually working) does not =
 disconnect
 from a GEOM mirror - the requeue is successful.
 
 However, for obvious reasons the kernel instability that results from =
 the=20
 retried write is not acceptable :)
 
 Don't know if this is germane to what is about to show up in =
 5.4-RELEASE,
 but if it is, this urgently needs to be looked at.
 
 Needless to say I've backed this attempt at a workaround out.
 
 
 


More information about the freebsd-i386 mailing list