Messages in this thread | | | Date | Tue, 24 Nov 2009 16:24:23 +0100 | Subject | Re: [PATCH 3/4] cfq-iosched: idling on deep seeky sync queues | From | Corrado Zoccolo <> |
| |
Hi Vivek, On Tue, Nov 24, 2009 at 3:33 PM, Vivek Goyal <vgoyal@redhat.com> wrote: > Hi Corrado, > > Thinking more about it. This clearing of flag when idle expires might > create issues with queues which sent down requests with a burst initially > forcing to set "deep" flag and then fall back to low depth. In that case, > enable_idle will continue to be 1 and we will be driving queue depth as 1. > > This is a theoritical explanation looking at the patch. I don't know if > in real life we have workloads who do this frequently. At least for my > testing, this patch did make sure we don't switch between workload type > of queue very frequently. > I thought at this scenario when developing the patch, but considered it too infrequent (and not so costly) to justify the added complexity of having a moving average.
For me, wasting an idle time is something to be punished for, while driving the queue at lower depth is not, if the requests are coming timely.
> May be keeping a track of average queue depth of a seeky process might > help here like thinktime. If average queue depth is less over a period of > time, we move the queue to sync-noidle group to achieve better throughput > overall and if average queue depth is high, make is sync-idle. > > Currently we seem to be taking queue depth into account only for enabling > the flag. We don't want too frequent switching of "deep" flag, so some > kind of slow moving average might help. > Averages can still change in the middle of a slice. A simpler way could be to reset the deep flag after a full slice, if the depth never reached the threshold during that slice.
> Thanks > Vivek >
-- __________________________________________________________________________
dott. Corrado Zoccolo mailto:czoccolo@gmail.com PhD - Department of Computer Science - University of Pisa, Italy --------------------------------------------------------------------------
| |