Messages in this thread | | | Subject | Re: CFQ read performance regression | From | Miklos Szeredi <> | Date | Fri, 23 Apr 2010 12:48:17 +0200 |
| |
On Thu, 2010-04-22 at 17:53 +0200, Jan Kara wrote: > On Thu 22-04-10 12:23:29, Miklos Szeredi wrote: > > I have very little understanding of I/O scheduling but my idea of what's > > really needed here is to realize that one queue is not able to saturate > > the device and there's a large backlog of requests on other queues that > > are waiting to be served. Is something like that implementable? > I see a problem with defining "saturate the device" - but maybe we could > measure something like "completed requests / sec" and try autotuning > slice_idle to maximize this value (hopefully the utility function should > be concave so we can just use "local optimization").
Yeah, detecting saturation may be difficult.
I guess that function depends on a lot of other things as well, including seek times, etc. Not easy to optimize.
I'm still wondering what makes such a difference between CFQ on 2.6.16 and CFQ on 2.6.27-34, why is the one in older kernels performing so much better in this situation?
What should we tell our customers? The default settings should at least handle these systems a bit better.
Thanks, Miklos
| |