From owner-cvs-all Sat Mar 17 5:27:43 2001 Delivered-To: cvs-all@freebsd.org Received: from peter3.wemm.org (c1315225-a.plstn1.sfba.home.com [65.0.135.147]) by hub.freebsd.org (Postfix) with ESMTP id 3281137B71A; Sat, 17 Mar 2001 05:27:39 -0800 (PST) (envelope-from peter@netplex.com.au) Received: from mobile.wemm.org (mobile.wemm.org [10.0.0.5]) by peter3.wemm.org (8.11.0/8.11.0) with ESMTP id f2HDRcp66967; Sat, 17 Mar 2001 05:27:38 -0800 (PST) (envelope-from peter@netplex.com.au) Received: from netplex.com.au (localhost [127.0.0.1]) by mobile.wemm.org (8.11.1/8.11.1) with ESMTP id f2HDRch11517; Sat, 17 Mar 2001 05:27:38 -0800 (PST) (envelope-from peter@netplex.com.au) Message-Id: <200103171327.f2HDRch11517@mobile.wemm.org> X-Mailer: exmh version 2.2 06/23/2000 with nmh-1.0.4 To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/alpha/include types.h src/sys/i386/include types.h src/sys/ia64/include types.h src/sys/powerpc/include types.h src/sys/kern vfs_cache.c src/sys/nfs nfs.h nfs_node.c src/sys/sys fnv_hash.h In-Reply-To: <200103170931.f2H9V7h77652@freefall.freebsd.org> Date: Sat, 17 Mar 2001 05:27:38 -0800 From: Peter Wemm Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG FWIW; this is not a final implementation or API yet, I have made further tweaks/fixes. Peter Wemm wrote: > peter 2001/03/17 01:31:06 PST > > Modified files: > sys/alpha/include types.h > sys/i386/include types.h > sys/ia64/include types.h > sys/powerpc/include types.h > sys/kern vfs_cache.c > sys/nfs nfs.h nfs_node.c > Added files: > sys/sys fnv_hash.h > Log: > Use a generic implementation of the Fowler/Noll/Vo hash (FNV hash). > Make the name cache hash as well as the nfsnode hash use it. > > As a special tweak, create an unsigned version of register_t. This allows > us to use a special tweak for the 64 bit versions that significantly > speeds up the i386 version (ie: int64 XOR int64 is slower than int64 > XOR int32). > > The code layout is a little strange for the string function, but I was > able to get between 5 to 10% improvement over the original version I > started with. The layout affects gcc code generation choices and this way > was fastest on x86 and alpha. > > Note that 'CPUTYPE=p3' etc makes a fair difference to this. It is > around 45% faster with -march=pentiumpro on a p6 cpu. > > Revision Changes Path > 1.14 +2 -2 src/sys/alpha/include/types.h > 1.21 +2 -2 src/sys/i386/include/types.h > 1.2 +2 -2 src/sys/ia64/include/types.h > 1.2 +2 -1 src/sys/powerpc/include/types.h > 1.53 +7 -14 src/sys/kern/vfs_cache.c > 1.58 +1 -2 src/sys/nfs/nfs.h > 1.44 +3 -29 src/sys/nfs/nfs_node.c > > Cheers, -Peter -- Peter Wemm - peter@FreeBSD.org; peter@yahoo-inc.com; peter@netplex.com.au "All of this is for nothing if we don't go to the stars" - JMS/B5 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message