Re: EXT4-ish "fixes" in UBIFS

From: David Rees
Date: Thu Apr 02 2009 - 21:55:32 EST


On Thu, Apr 2, 2009 at 5:28 PM, Trenton D. Adams
<trenton.d.adams@xxxxxxxxx> wrote:
> On Thu, Apr 2, 2009 at 6:24 PM, Trenton D. Adams
> <trenton.d.adams@xxxxxxxxx> wrote:
>> Yes, mounting "-o sync" does improve ext3 performance.  It sucks
>> though, because I do want quick writes.  And mounting with sync option
>> slows down to disk io speeds.  In my case, that's between 20 and 23
>> megabytes per second *big frown, quivering lip, and tears in my eyes*.
>> :P
>>
>
> Oh, I should have clarified.  It improves performance under heavy
> load.  Under normal load, mounting without sync is fine.  What I tend
> to do is mount with "remount,rw,sync" when heavy load is starting.
> Then my system goes slowly, but latency is good.  Then, when it's all
> done (say a big compile, or job, or whatever), I remount without sync
> again.
>
> I'm thinking of writing a script that monitors performance, and
> remounts as needed, lol.  WHAT A HACK. hehe.

All you're doing here is implementing the lowering of dirty data
limits in the VM dynamically based on how long fsyncs take.

Linus outlined this specific strategy as "the ideal siutation"
somewhere in the depths of "That filesystem thread".

Look at the new in 2.6.29 dirty*bytes parameters in
Documentation/sysctl/vm.txt for more info. By lowering those values,
you can effectively turn normal writes into synchronous writes which
will greatly reduce latency of fsync under heavy write load.

In previous kernels you can tweak dirty_ratio and
dirty_background_ratio, but they don't have the granularity of the new
knobs. Although if you are talking about just remounting in sync
mode, they may work for you at least as a proof of concept. ;-)

-Dave
--
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/