Re: [PATCH 00/23] per device dirty throttling -v8
From: Linus Torvalds
Date: Sat Aug 04 2007 - 13:41:28 EST
On Sat, 4 Aug 2007, Ingo Molnar wrote:
>
> yeah, it's really ugly. But otherwise i've got no real complaint about
> ext3 - with the obligatory qualification that "noatime,nodiratime" in
> /etc/fstab is a must.
I agree, we really should do something about atime.
But the fsync thing is a real issue. It literally makes ext3 almost
unusable from a latency standpoint on many loads. I have a fast disk, and
don't actually tend to have all that much going on normally, and it still
hurts occasionally.
One of the most common (and *best*) reasons for using fsync is for the
mail spool. So anybody that uses local email will actually be doing a lot
of fsync, and while you could try to thread the interfaces, I don't think
a lot of mailers do.
So fsync ends up being a latency issue for something that a lot of people
actually see, and something that you actually end up working with and you
notice the latencies very clearly. Your editor auto-save feature is
another good example of that exact same thing: the fsync actually is there
for a very good reason, even if you apparently decided that you'd rather
disable it.
But yeah, "noatime,data=writeback" will quite likely be *quite* noticeable
(with different effects for different loads), but almost nobody actually
runs that way.
I ended up using O_NOATIME for the individual object "open()" calls inside
git, and it was an absolutely huge time-saver for the case of not having
"noatime" in the mount options. Certainly more than your estimated 10%
under some loads.
The "relatime" thing that David mentioned might well be very useful, but
it's probably even less used than "noatime" is. And sadly, I don't really
see that changing (unless we were to actually change the defaults inside
the kernel).
Linus
-
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/