From owner-cvs-all Mon Mar 19 18:10:23 2001 Delivered-To: cvs-all@freebsd.org Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 367C637B727; Mon, 19 Mar 2001 18:10:19 -0800 (PST) (envelope-from peter@FreeBSD.org) Received: (from peter@localhost) by freefall.freebsd.org (8.11.1/8.11.1) id f2K2AJh50183; Mon, 19 Mar 2001 18:10:19 -0800 (PST) (envelope-from peter) Message-Id: <200103200210.f2K2AJh50183@freefall.freebsd.org> From: Peter Wemm Date: Mon, 19 Mar 2001 18:10:19 -0800 (PST) To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/kern vfs_cache.c src/sys/sys fnv_hash.h src/sys/nfs nfs_node.c X-FreeBSD-CVS-Branch: HEAD Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG peter 2001/03/19 18:10:19 PST Modified files: sys/kern vfs_cache.c sys/sys fnv_hash.h sys/nfs nfs_node.c Log: Use the same API as the example code. Allow the initial hash value to be passed in, as the examples do. Incrementally hash in the dvp->v_id (using the official api) rather than add it. This seems to help power-of-two predictable filename trees where the filenames repeat on a power-of-two cycle and the directory trees have power-of-two components in it. The simple add then mask was causing things like 12000+ entry collision chains while most other entries have between 0 and 3 entries each. This way seems to improve things. Revision Changes Path 1.54 +9 -7 src/sys/kern/vfs_cache.c 1.2 +17 -21 src/sys/sys/fnv_hash.h 1.45 +2 -2 src/sys/nfs/nfs_node.c To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message