Messages in this thread | | | Date | Mon, 6 Apr 2009 13:10:50 -0700 (PDT) | From | Linus Torvalds <> | Subject | Re: [PATCH 0/8][RFC] IO latency/throughput fixes |
| |
On Mon, 6 Apr 2009, Linus Torvalds wrote: > > Yes. I want to go back and see how much this all helps for the > data=ordered case (if at all), but I think we should at least consider > trying 'data=writeback' as a default.
Hmm.
So I'm back to "data=ordered", and quite frankly, so far it's a horrible experience.
The difference is rather startlingly huge, which it was _not_ before.
Sure, data=writeback was better before too, but in the end, the difference between the occasional 5+ second pause and the occasional 10+ second pause wasn't really all that interesting. They were both unusuable, and both made me kill the background writer almost immediately.
This time I really forced myself to keep it around, just to get the whole horridness of the experience.
Here's wahat I just got from data=writeback and all the latest patches (which includes one extra experimental one from Jens to further improve on things):
fsync(6) = 0 <0.839397> fsync(6) = 0 <0.879706> fsync(6) = 0 <0.240856> fsync(6) = 0 <0.006497> fsync(6) = 0 <0.207197> fsync(4) = 0 <0.318396> fsync(4) = 0 <0.044499> fsync(4) = 0 <0.088381> fsync(6) = 0 <0.001057> fsync(9) = 0 <0.245389> fsync(7) = 0 <0.042728> fsync(7) = 0 <1.148262> fsync(6) = 0 <0.200707> fsync(6) = 0 <0.045259> fsync(6) = 0 <0.111846>
that's all quite usable. Stuttering, yes, but never anything feeling rally bad, or like something died.
This is with data=ordered on the same kernel:
fsync(5) = 0 <0.000949> fsync(8) = 0 <19.674681> fsync(8) = 0 <1.169357> fsync(8) = 0 <17.994631> fsync(8) = 0 <5.711143> fsync(8) = 0 <4.759515> fsync(4) = 0 <17.283171> fsync(4) = 0 <4.371930> fsync(4) = 0 <0.008327> fsync(8) = 0 <0.000636> fsync(11) = 0 <9.802027> fsync(9) = 0 <14.109262> fsync(9) = 0 <4.081919> fsync(8) = 0 <0.000490> fsync(8) = 0 <0.001588> fsync(11) = 0 <18.822826> fsync(9) = 0 <3.917717> fsync(9) = 0 <0.001035> fsync(8) = 0 <0.000138> fsync(9) = 0 <17.466156>
where basically each 'sync' on the big file triggers that 15-20s total failure. I do wonder if it's actually gotten _worse_ for the data=ordered case, but at the same time it does make a pretty compelling argument for switching the defaults around.
Linus
| |