tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Removing softdep



I've seen a few queries about speed of journaling vs softdep.

Here's a couple of sets of figures, both a few months old.  First, an
old favourite - extracting pkgsrc.tar.gz:

# mount /dev/ld0e /mnt
# tar xpfz ~/pkgsrc.pax.gz   1.489u 12.201s 18:29.87  1.2%   887+544016io
# rm -rf pkgsrc              0.115u  3.609s  9:46.81  0.6% 22870+228470io

# mount -o log /dev/ld0e /mnt
# tar xpfz ~/pkgsrc.pax.gz   1.296u 10.531s  0:37.78 31.2%   884+ 36157io
# sync                       0.000u  2.593s  0:17.08 15.1%     0+     7io
# rm -rf pkgsrc              0.075u  3.415s  0:14.70 23.6% 21962+ 22898io
# sync                       0.000u  0.004s  0:00.21  0.0%     3+   370io

# mount -o softdep /dev/ld0e /mnt
# tar xpfz ~/pkgsrc.pax.gz   1.555u 10.015s  0:33.00 35.0%   886+ 22968io
# sync                       0.000u  4.415s  0:12.42 35.5%     3+  4358io
# rm -rf pkgsrc              0.084u  1.387s  0:15.32  9.5% 21926+ 22850io
# sync                       0.000u  1.221s  0:01.26 96.8%     3+     2io

# mount -o async /dev/ld0e /mnt
# tar xpfz ~/pkgsrc.pax.gz   1.426u  9.273s  0:20.66 51.7%    41+ 22906io
# sync                       0.000u  3.970s  0:08.04 49.3%     9+     3io
# rm -rf pkgsrc              0.125u  2.401s  0:12.29 20.5% 22051+ 22869io
# umount /mnt

Async is fastest, and softdep is a little faster than journaling for
extract and a little slower for removing.  All three are _much_ faster
than normal ffs.

Now for the one workload I know of where journaling does seem to lose
quite badly - repeated fsync() on files.  CVS does this for each file it
touches and was how I discovered this "problem".  These are times for
doing two rtags on a large repo, with /tmp and cvs lock dirs both on
tmpfs:

cvsroot normal:
   71.603u 115.288s 1:17:40.49 4.0%  0+0k 76624+1633298io 435012pf+0w
   72.598u 115.665s 1:21:14.85 3.8%  0+0k 75899+1634869io 434696pf+0w

cvsroot softdep:
   71.266u 112.522s   37:35.69 8.1%  0+0k 80044+ 818830io 434998pf+0w
   71.840u 111.369s   40:19.31 7.5%  0+0k 78683+ 818657io 434804pf+0w

cvsroot log:
   71.808u 133.269s 6:12:53.42 0.9%  0+0k 78479+3373981io 434963pf+0w
   72.070u 132.084s 5:56:33.73 0.9%  0+0k 72534+3215163io 435128pf+0w

A really bad result for journaling there...  This also scaled down as
well, just tagging a directory with a dozen files was measurably much
slower with journaling.

Cheers,
Simon.


Home | Main Index | Thread Index | Old Index