Re: [patch,rfc v2] ext3/4: enhance fsync performance when using cfq

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Vivek Goyal
Date: Wednesday, April 7, 2010 - 2:46 pm

On Wed, Apr 07, 2010 at 05:18:12PM -0400, Jeff Moyer wrote:

Thanks Jeff. Conceptually this appraoch makes lot of sense to me. Higher
layers explicitly telling CFQ not to idle/yield the slice.

My firefox timing test is perfoming much better now.

real	0m15.957s
user	0m0.608s
sys	0m0.165s

real	0m12.984s
user	0m0.602s
sys	0m0.148s

real	0m13.057s
user	0m0.624s
sys	0m0.145s

So we got to take care of two issues now.

- Make it work with dm/md devices also. Somehow shall have to propogate
  this yield semantic down the stack.

- The issue of making sure we don't yield if we are servicing sync-noidle
  tree and there is other IO going on which relies on sync-noidle tree
  idling (as you have already mentioned).


[..]

I think it would be good if we also check that cfqq is empty or not. If cfqq
is not empty we don't want to give up slice? But this is a minor point. At
least in case of fsync, we seem to be waiting for all the iozone request
to finish and then calling yield. So cfqq should be empty at this point of
time. 

Vivek
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: [patch,rfc v2] ext3/4: enhance fsync performance when ..., Vivek Goyal, (Wed Apr 7, 2:46 pm)