Re: ext3 metadata performace

From: Dieter StÃken
Date: Fri May 12 2006 - 06:11:20 EST


Helge Hafting wrote:
Dieter StÃken wrote:
Would it be make sense for ext3, to disable synchronous writes even
for metadata (similar to the "data=writeback" option)?

Turning off synchronous writes like this won't work!
The battery-backed cache can help you in that you can consider
data "written" once it is transferred to that cache. Metadata must still
go synchronously into the cache though, or you get a broken fs
if ever your machine crash in the middle of a transaction. (Leaving
an update halfway in that battery cache, and halfway in main memory.
Then main memory dies from the power cut / reboot.)

The caching controller should report back to the linux device driver
that "data is committed" as soon as it hits the cache - no need to
wait for it to actually hit the platters. This can help performance with
bursty writes tremendously - but it won't help you with long-lasting writes
as you will then be limited by platter speed as soon as the battery cache
is completely full.

The battery buffered cache is about 100Mb compared to 8k or 16k of the
disk buffer cache itself. So it won't become full that fast...

I just tested the same with my other controller (a 3ware 9550SX) which
has an option to configure explicitly if a write is acknowledged as
soon as the data is saved to the (buffered) memory or if it will delay
the acknowledge until data got written to disk. So this is similar to
enabling/disabling the disk cache on a plain disk. I did not found a
way to configure this on my older 3ware 9500S controller, even if it
has a battery backup, too (will ask 3ware about this).

Hua Zhong wrote:
If you mean the disk cache is reliable with the battery, then it
>> should be done by the block layer that a write barrier doesn't
translate into a SYNC (or whatever it is called). Instead, data is
>> considered synced to disk as soon as it hits the cache.

It's really nothing to do with EXT3. It's doing the right thing.

I read something about "write barriers", but I don't know if these are
already used by my current 2.6.15 (I may try to use the actual kernel
tomorrow). Is there a difference between a SATA disk and a SCSI disk?
(which is emulated by my 3Ware controllers).

Dieter.
-
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/