Subject: Re: Summer of code ideas
To: None <wrstuden@netbsd.org>
From: Johan A.van Zanten <johan@giantfoo.org>
List: netbsd-users
Date: 03/23/2007 01:30:33
Bill Stouder-Studenmund <wrstuden@netbsd.org> wrote:
> On Sun, Mar 18, 2007 at 08:38:47AM +0100, Dieter wrote:
> > > > Soft updates gives higher performance than journaling in most (not all) cases.
> > >
> > > Can you actually demonstrate that this is the case?
> >
> > IIRC these papers do.
> >
> > http://www.usenix.org/publications/library/proceedings/usenix99/mckusick.html
> > http://www.usenix.org/publications/library/proceedings/usenix2000/general/seltzer.html
>
> Do you have any recent references? Specifically NetBSD-based ones?
I did everything possible as a non-root user.
Sorry this isn't formatted better -- i wanted to answer your question,
but don't have a lot of free time. :)
Commands that start with "+" were run from a Bourne shell script as
non-root.
FFS was faster in all but one of the tests (mv).
-johan
uname -a:
NetBSD pangu 3.1 NetBSD 3.1 (KUNGPAO) #1: Fri Feb 16 21:21:38 CST 2007 johan@pangu:/tew/006/src/NetBSD/NetBSD-3/src/sys/arch/i386/compile/KUNGPAO i386
pangu is 2.4 GHz pentium 4 with 1.5 GB RAM.
wd1 at atabus0 drive 1: <Maxtor 7H500F0> (500 GB SATA drive)
pangu:/ $ ls -s /tew/src/NetBSD/NetBSD-3/sets/src.tgz
43640 /tew/src/NetBSD/NetBSD-3/sets/src.tgz
# newfs /dev/wd1a
# mount -o softdep /dev/wd1a /mnt
# chown johan /mnt
+ cd /mnt
+ cat /tew/src/NetBSD/NetBSD-3/sets/src.tgz
+ time tar zxf /tew/src/NetBSD/NetBSD-3/sets/src.tgz
9.48 real 3.32 user 5.52 sys
+ time chmod -R o-rwx .
0.56 real 0.07 user 0.45 sys
+ time find . -type f -exec mv {} {}.old ;
53.67 real 20.58 user 23.04 sys
+ time find . -type f -exec cp {} {}.fo ;
63.98 real 25.29 user 29.36 sys
+ exit
----------------------------------------------------------------------
( update partition type to 4.4LFS )
# newfs_lfs -A /dev/rwd1a
bw = 67423436 B/s, seek time 6 ms (143 seeks/s)
using initial segment size 1885696
Segment size 1885696 is not a multiple of frag size; trying size 1886208.
Creating a version 2 LFS with roll-forward ident 0x21a6539
476939.5MB in 265139 segments of size 1886208
super-block backups (for fsck -b #) at:
16, 97673892, 195347784, 293021676, 390695568, 488369460, 586043352,
683717244, 781391136, 879065028.
# mount /dev/wd1a /mnt
+ cd /mnt
+ cat /tew/src/NetBSD/NetBSD-3/sets/src.tgz
+ time tar zxf /tew/src/NetBSD/NetBSD-3/sets/src.tgz
13.04 real 3.21 user 5.82 sys
+ time chmod -R o-rwx .
0.81 real 0.14 user 0.59 sys
+ time find . -type f -exec mv {} {}.old ;
41.02 real 18.92 user 21.17 sys
+ time find . -type f -exec cp {} {}.fo ;
71.32 real 24.85 user 28.39 sys
+ exit
-------------------------------------------------------------------------
# newfs_lfs /dev/rwd1a
newfs_lfs: newfs_lfs: disklabel segment size (16384) too small, using
default (1048576)
Creating a version 2 LFS with roll-forward ident 0x1e86c01e
476940.0MB in 476940 segments of size 1048576
super-block backups (for fsck -b #) at:
16, 97677312, 195354624, 293031936, 390709248, 488386560, 586063872,
683741184, 781418496, 879095808.
# mount /dev/wd1a /mnt
+ cd /mnt
+ cat /tew/src/NetBSD/NetBSD-3/sets/src.tgz
+ time tar zxf /tew/src/NetBSD/NetBSD-3/sets/src.tgz
12.72 real 3.17 user 5.48 sys
+ time chmod -R o-rwx .
0.90 real 0.04 user 0.68 sys
+ time find . -type f -exec mv {} {}.old ;
41.19 real 18.80 user 21.08 sys
+ time find . -type f -exec cp {} {}.fo ;
67.18 real 24.61 user 28.53 sys
+ exit