[PATCH 7/13]: PCI Err: Symbios SCSI driver recovery

Linas Vepstas linas at austin.ibm.com
Thu Jun 30 06:48:23 EST 2005


On Wed, Jun 29, 2005 at 11:51:07AM +1000, Benjamin Herrenschmidt was heard to remark:
> On Tue, 2005-06-28 at 18:59 -0500, Linas Vepstas wrote:
> > pci-err-7-symbios.patch
> > 
> > Adds PCI Error recoervy callbacks to the Symbios Sym53c8xx driver.
> > Tested, seems to work well under i/o stress to one disk. Not
> > stress tested under heavy i/o to multiple scsi devices.
> > 
> > Note the check of the pci error state flag inside an infinite
> > loop inside the interrupt handler. Without this check, the 
> > device can spin forever, locking up hard, long before the 
> > asynchronous error event (and callbacks) are ever called. 
> 
> Normally, you should check for non-responding hardware by testing things
> like reading all ff's or having a timeout in the loop. 

For ppc64, that does happen in the loop, and so the flag does get
set synchronously, even on a single-cpu system.  But point taken.

> The bug is that
> the driver has a potential infinite loop in the first place.
> 
> The only type of "synchronous" error checking that can be done is what
> is proposed by Hidetoshi Seto. You could use his stuff here.

Yes. However, I will leave this bit in for now, (and mark it as a hack) 
until Seto-san's patches are on deck. I'd rather not have a built-in 
pre-req right now.

--linas



More information about the Linuxppc64-dev mailing list