Witness should be faster now :-)

Marcus Grando marcus at corp.grupos.com.br
Thu Aug 25 12:28:26 GMT 2005


MFC to RELENG_6?

Regards

Tai-hwa Liang wrote:
> 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)
> 

-- 
Marcus Grando
Grupos Internet S/A
marcus(at)corp.grupos.com.br


More information about the freebsd-current mailing list