Re: EXT4-ish "fixes" in UBIFS

From: Trenton D. Adams
Date: Thu Apr 02 2009 - 22:26:18 EST


On Thu, Apr 2, 2009 at 7:55 PM, David Rees <drees76@xxxxxxxxx> wrote:
> 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.

WOW, that makes a huge difference. If I set it to 100M, I get the
10-15 second delay I was talking about. But, if I set it to 1M, I get
0.3 to 0.4 second delay on a 1M fsync. That is way better. Perhaps I
should auto-tune based on that parameter then. Although I do agree
with Linus that it sucks to do userland auto-tuning. :P
--
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/