Messages in this thread | | | Date | Sun, 29 Mar 2009 23:28:27 -0400 | From | Theodore Tso <> | Subject | Re: Linux 2.6.29 |
| |
On Sun, Mar 29, 2009 at 07:29:09PM -0600, Trenton Adams wrote: > I am slightly confused by the "data=ordered" thing that everyone is > mentioning of late. In theory, it made sense to me before I tried it. > I switched to mounting my ext3 as ext4, and I'm still seeing > seriously delayed fsyncs. Theodore, I used a modified version of your > fsync-tester.c to bench 1M writes, while doing a dd, and I'm still > getting *almost* as bad of "fsync" performance as I was on ext3. On > ext3, the fsync would usually not finish until the dd was complete.
How much memory do you have? On my 4gig X61 laptop, using a 5400 rpm laptop drive, I see typical times of 1 to 1.5 seconds, with a few outliers at 4-5 seconds. With ext3, the fsync times immediately jumped up to 6-8 seconds, with the outliers in the 13-15 second range.
(This is with a filesystem formated as ext3, and mounted as either ext3 or ext4; if the filesystem is formatted using "mke2fs -t ext4", what you see is a very smooth 1.2-1.5 seconds fsync latency, indirect blocks for very big files end up being quite inefficient.)
So I'm seeing a definite difference --- but also please remember that "dd if=/dev/zero of=bigzero.img" really is an unfair, worst-case scenario, since you are dirtying memory as fast as your CPU will dirty pages. Normally, even if you are running distcc, the rate at which you can dirty pages will be throttled at your local network speed.
You might want to try more normal workloads and see whether you are seeing distinct fsync latency differences with ext4. Even with the worst-case dd if=/dev/zero, I'm seeing major differences in my testing.
- Ted
| |