Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 25 Aug 2005 14:32:29 +0800 (CST)
From:      Tai-hwa Liang <avatar@mmlab.cse.yzu.edu.tw>
To:        Don Lewis <truckman@FreeBSD.org>
Cc:        freebsd-current@FreeBSD.org
Subject:   Re: Witness should be faster now :-)
Message-ID:  <050825142457E.10162@www.mmlab.cse.yzu.edu.tw>
In-Reply-To: <200508250357.j7P3vEWM040961@gw.catspoiler.org>
References:  <200508250357.j7P3vEWM040961@gw.catspoiler.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 24 Aug 2005, Don Lewis wrote:
> I just committed a change to the witness code in HEAD (subr_witness.c
> 1.198) that speeds it up considerably.
>
> I ran three different tasks as benchmarks:
> 	cd /usr/src; make buildworld
>
> 	cd /usr/ports; make index
>
> 	cd /usr/ports/x11/gnome2; make clean
>
> I ran the benchmarks without the WITNESS options, with the original
> witness code, and with the new witness code.  My test hardware is an
> Athlon XP 2400+ box with 1G of RAM, SCSI disks, NFS client, and the
> DEBUG_NFS_LOCKS kernel option.
>
> With this change, I'm seeing anywhere from a factor of 5.4 to a factor
> of 10.3 reduction in the system CPU time in the witness code.  Enabling
> the original witness code increased the system CPU time by anywhere from
> 330% to 615%.  With the new witness code, the system CPU time penalty
> for enabling witness dropped to about 60%, which was fairly consistent
> across the three benchmarks.  Enabling the original witness code
> increased the wall time for these benchmarks anywhere from 69% (make
> buildworld) to 260%. With the new witness code, the wall time penalty
> decreased to the range 12% to 26%.
>
> If you've been disabling witness because of the large performance
> penalty, you may find that this is no longer necessary.
>
> I've got another potential performance boost in the hopper.  I'll
> release it if it pans out.
>
> I'm planning on doing an MFC after 6.0-RELEASE.

   Thank you. This patch _does_ help me a lot!  Before this change, copying
files over smbfs was really a PITA -- about 22x slowdown from my observation
(1.6GHz Pentium M laptop):

smbhost> ls -la nostalgia.pdf
-rw-r--r--  1 avatar users 1247512 2005-06-06 09:27 nostalgia.pdf

* WITNESS disabled(cvsup'ed on Aug-23-2005)

bsdhost /mnt/samba# dd if=nostalgia.pdf of=/mnt/mfs/x 
2436+1 records in
2436+1 records out
1247512 bytes transferred in 1.346903 secs (926208 bytes/sec)
bsd host /mnt/samba# dd if=nostalgia.pdf of=/mnt/mfs/x
2436+1 records in
2436+1 records out
1247512 bytes transferred in 1.318945 secs (945841 bytes/sec)

* WITNESS enabled(same source tree)

bsdhost /mnt/samba# dd if=nostalgia.pdf of=/mnt/mfs/x
2436+1 records in
2436+1 records out
1247512 bytes transferred in 30.512210 secs (40886 bytes/sec)
bsdhost /mnt/samba# dd if=nostalgia.pdf of=/mnt/mfs/x
2436+1 records in
2436+1 records out
1247512 bytes transferred in 30.111005 secs (41430 bytes/sec)

* WITNESS enabled(same source tree + subr_witness.c:1.198)

bsdhost /mnt/samba# dd if=nostalgia.pdf of=/mnt/mfs/x
2436+1 records in
2436+1 records out
1247512 bytes transferred in 1.629300 secs (765674 bytes/sec)
bsdhost /mnt/samba# dd if=nostalgia.pdf of=/mnt/mfs/x
2436+1 records in
2436+1 records out
1247512 bytes transferred in 1.636264 secs (762415 bytes/sec)

-- 
Cheers,

Tai-hwa Liang



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?050825142457E.10162>