tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: mpt(4) timeout recovery improvements
On Sun, Nov 24, 2013 at 12:41:12PM +0100, Edgar Fuß wrote:
> So, to partially answer myself:
>
> > scsipi/driver interaction (is there documentation on this?)
> I had missed the comprehensive scsipi(9) man page. I guess I mis-typed
> "scsipi" when looking for it.
>
> > First question: what's the appropriate xs->error?
> So this has been answered both by me finding that man page and by Brian.
>
> > Second question: When repeatedly calling scsipi_done(), can it happen that
> > scsipi tries to re-queue these requests before I return? I would then loose
> > them when re-initializing the IOC.
> >From the man page, I guess this can be prevented by scsipi_channel_freeze()?
>
> > Third question: Do I need to care about xs->xs_callout?
> This has also been answerd by bot Brian and me finding the man page.
> I didn't realize that mpt(4) did itself set up that callout.
>
> > Or is returning everything to scsipi simply the wrong approach?
> Given there is XS_REQUEUE, I now think it's the right approach. But I may
> be wrong, of course.
No, you want to use XS_REQUEUE here.
And yes, you should stop the queue processing by the IOC before handling the
queue. scsipi_channel_freeze() should allow to to prevent getting
back the commands before the IOC is ready again (when it's ready again, call
scsipi_channel_thaw()).
--
Manuel Bouyer <bouyer%antioche.eu.org@localhost>
NetBSD: 26 ans d'experience feront toujours la difference
--
Home |
Main Index |
Thread Index |
Old Index