From: Jens Axboe on
On Thu, Apr 08 2010, Divyesh Shah wrote:
> When CFQ dispatches requests forcefully due to a barrier or changing iosched,
> it runs through all cfqq's dispatching requests and then expires each queue.
> However, it does not activate a cfqq before flushing its IOs resulting in
> using stale values for computing slice_used.
> This patch fixes it by calling activate queue before flushing reuqests from
> each queue.
>
> This is useful mostly for barrier requests because when the iosched is changing
> it really doesnt matter if we have incorrect accounting since we're going to
> break down all structures anyway.
>
> We also now expire the current timeslice before moving on with the dispatch
> to accurately account slice used for that cfqq.

Good catch, applied for 2.6.34.

--
Jens Axboe

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/