Let's inject a little reality into this discussion. Filesystems are used
for something other than running MTA's written by stubborn "purists".
Solaris: Dell 600 MHz PIII 128MB RAM, largely quiescent:
Solaris 8 mu4, UFS with logging
Linux: VA Linux 800 MHZ PIII, 128MB RAM, largely quiescent
RedHat Linux 7.1 w/ kernel-2.4.6-2.4 (2.4.6-ac5 + ext3-0.9.3).
660MB XFree86-4.1 build tree, cache primed with du -s in each case.
Here's something that we developers probably all do frequently: copy a
tree using hard links, so that we can patch it.
[solaris] find . | wc
33027 33027 1251671
[solaris] time find . -depth | cpio -pdul ../foo
0 blocks
363.46s real 0.84s user 10.13s system
Plain ext2:
[linux]# time find . -depth | cpio -pdul ../foo
0 blocks
real 0m3.823s user 0m0.240s sys 0m3.570s
Mounted ext3, ordered data mode.
[linux] time find . -depth | cpio -pdul ../foo
0 blocks
real 0m5.106s user 0m0.200s sys 0m3.700s
Mounted ext3, -o sync:
[root@ead51 bar]# time find . -depth | cpio -pdul ../foo
0 blocks
real 1m28.483s user 0m0.470s sys 0m4.410s
=====================================================
Solaris8 UFS: 363.5 seconds
ext2: 3.8 seconds
ext3: 5.1 seconds
ext3 -o sync: 88.5 seconds
Got it?
Obviously, the last is the result of the poor interaction
of ext3+sync in 0.9.3, but Andrew Morton has already fixed that.
I will try again with 0.9.5 when I have a chance to upgrade that
machine.
I have no idea where BSD falls, but the basic point stands: unused
features should not penalize other applications. Andrew Morton has
figured out how to do this efficiently with ext3, and many kudos to him
for doing the work. Absent that, why should I have to go get a cup of
coffee every time I want to patch a tree, just so some MTA can make
naive assumptions?
Regards,
Bill Rugolsky
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/