Re: [PATCH/RFC] I/O-check interface for driver's error handling

Jesse Barnes
2005-03-02T23:40:09Z

On Wednesday, March 2, 2005 3:30 pm, Linas Vepstas wrote:
> Put it another way: a device driver author should have the opportunity
> to poll the pci bus status if they so desire. Polling for bus status
> on ppc64 is real easy. Given what Jesse Barnes was saying, it sounded
> like a simple (optional, the dev driver doesn't have to use it) poll
> is not enough, because some errors might be transactional.

Yeah, I'm not arguing against your call, it could be useful for polling for
errors or for use in an error handling callback. What I was trying to say
earlier (maybe I wasn't very clear) was that the idea of creating
transactions for certain types of I/O (even if those transactions are
artificial and purely in software) can be useful since it creates boundaries
and context, making it easier to figure out what went wrong, hopefully making
it easier to fix things and carry on.

IOW, using Seto-san's iochk_clear/iochk_read interface makes certain types of
errors much easier to deal with since you *know* where an error occurred and
can presumably deal with it right away. The problem comes in for things that
aren't well encapsulated, like DMA, for which error polling or some sort of
callback is needed (and even with polling you'll need to poll in an error
handling thread as you mentioned since the driver may start DMA, return, and
the error can happen later when we're not actually in driver code). So I
think we mostly agree on what things need to be done, you and benh just have
to fight it out over the details. :)

Jesse