From owner-cvs-all Mon Mar 11 20: 0:16 2002 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 E2DCA37B405; Mon, 11 Mar 2002 20:00:11 -0800 (PST) Received: (from jeff@localhost) by freefall.freebsd.org (8.11.6/8.11.6) id g2C40BD98756; Mon, 11 Mar 2002 20:00:11 -0800 (PST) (envelope-from jeff) Message-Id: <200203120400.g2C40BD98756@freefall.freebsd.org> From: Jeff Roberson Date: Mon, 11 Mar 2002 20:00:11 -0800 (PST) To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/sys namei.h src/sys/kern vfs_cache.c vfs_syscalls.c vfs_vnops.c src/sys/conf options X-FreeBSD-CVS-Branch: HEAD Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG jeff 2002/03/11 20:00:11 PST Modified files: sys/sys namei.h sys/kern vfs_cache.c vfs_syscalls.c vfs_vnops.c sys/conf options Log: This patch adds the "LOCKSHARED" option to namei which causes it to only acquire shared locks on leafs. The stat() and open() calls have been changed to make use of this new functionality. Using shared locks in these cases is sufficient and can significantly reduce their latency if IO is pending to these vnodes. Also, this reduces the number of exclusive locks that are floating around in the system, which helps reduce the number of deadlocks that occur. A new kernel option "LOOKUP_SHARED" has been added. It defaults to off so this patch can be turned on for testing, and should eventually go away once it is proven to be stable. I have personally been running this patch for over a year now, so it is believed to be fully stable. Reviewed by: jake, obrien Approved by: jake Revision Changes Path 1.304 +1 -0 src/sys/conf/options 1.68 +63 -0 src/sys/kern/vfs_cache.c 1.231 +5 -0 src/sys/kern/vfs_syscalls.c 1.138 +34 -0 src/sys/kern/vfs_vnops.c 1.34 +5 -4 src/sys/sys/namei.h To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message