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

From: Linas Vepstas
Date: Wed Jun 29 2005 - 15:53:55 EST


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
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/