Re: [PATCH] as i/o hang with aacraid driver 2.6.0-test1

Jens Axboe
2003-07-17T11:08:55Z

On Thu, Jul 17 2003, Nick Piggin wrote:
>
>
> Jens Axboe wrote:
>
> >On Thu, Jul 17 2003, Nick Piggin wrote:
> >
> >>
> >>Jens Axboe wrote:
> >>
> >>
> >>>On Thu, Jul 17 2003, Nick Piggin wrote:
> >>>
> >>>
> >>>>If the requeue were seperate to the add, it would simply be a call
> >>>>to as_completed_request in as-iosched.c.
> >>>>
> >>>>
> >>>Out of laziness, or what? Just the accounting, not the actual completion
> >>>bits.
> >>>
> >>>
> >>Well no it would have to because it has nothing to associate
> >>the re-add with a re-add and not a new add, if you know what
> >>I mean.
> >>
> >>So it would have to do all the cleanup stuff that
> >>as_completed_request does. Its possible I guess, that we could
> >>set a flag in the as_rq's state field, to say that the request
> >>is a re-add, but thats not very clean IMO.
> >>
> >
> >Wont that possibly cause it to make bad decisions? From AS pov, it looks
> >like an immediate complete of a request. Which it isn't.
> >
>
> Yeah thats correct - AS assumes elv_add_request is an entirely new
> request from the process point of view, so yeah the quick fix wasn't
> entirely optimal for AS.

But elv_requeue_req_fn gives you the possibility to do it right, just
wondering since you said you'd just make that basically:

as_requeue_req_fn()
{
as_completed_req();
as_add_req();
}

which could done a lot better.

--
Jens Axboe