On Thu, 2007-04-12 at 13:29 +0200, Jens Axboe wrote:
> On Wed, Apr 11 2007, Ming Zhang wrote:
> > Hi All
> > 
> > For this ISSUE event, currently it is in elv_next_request(), any idea
> > why it is not in elv_dequeue_request() which is where the request marked
> > as on-the-fly and send to lower level?
> 
> elv_next_request() is the driver hand-off point, so should be pretty
> close to the issue time unless the request gets requeued due to some
> busy condition (which will also be logged). elv_dequeue_request() may
> happen much later, some drivers do it right before calling the io
> completion handler - IDE does this - since it leaves the request on the
> queue list for the duration of the operation. So moving the ISSUE event
> to elv_dequeue_request() would not be correct.
> 

ic. i assumed all requests will be removed from queue before llDD handle
it.

in 2.6.20 ele_dequeue_request

771 
772         /*
773          * the time frame between a request being removed from the lists
774          * and to it is freed is accounted as io that is in progress at
775          * the driver side.
776          */
777         if (blk_account_rq(rq))
778                 q->in_flight++;

then this in_flight counter is more likely to be how many outstanding
requests that not in the queue and before it is free. and it might be
less than how many undergoing IOs?


-
To unsubscribe from this list: send the line "unsubscribe linux-btrace" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to