Re: Bandwidth Allocations under CFQ I/O Scheduler
From: Paulo Marques
Date: Wed Oct 18 2006 - 09:51:29 EST
Jens Axboe wrote:
[...]
Precisely, hence CFQ is now based on the time metric. Given larger
slices, you can mostly eliminate the impact of other applications in the
system.
Just one thought: we can't predict reliably how much time a request will
take to be serviced, but we can account the time it _took_ to service a
request.
If we account the time it took to service requests for each process, and
we have several processes with requests pending, we can use the same
algorithm we would use for a large time slice algorithm to select the
process to service.
This should make it as fair over time as a large time slice algorithm
and doesn't need large time slices, so latencies can be kept as low as
required.
However, having a small time slice will probably help the hardware
coalesce several request from the same process that are more likely to
be to nearby sectors, and thus improve performance.
I'm leaving out the details, like we should find a way to make the
"fairness" work over a time window and not over the entire process
lifespan, maybe by using a sliding window over the last N seconds of
serviced requests to do the accounting or something.
--
Paulo Marques - www.grupopie.com
"The face of a child can say it all, especially the
mouth part of the face."
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/