From owner-cvs-src-old@FreeBSD.ORG Wed Jan 28 19:05:24 2009 Return-Path: Delivered-To: cvs-src-old@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 537651065672 for ; Wed, 28 Jan 2009 19:05:24 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 271A88FC1B for ; Wed, 28 Jan 2009 19:05:24 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n0SJ5OGs093328 for ; Wed, 28 Jan 2009 19:05:24 GMT (envelope-from jhb@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n0SJ5OKe093327 for cvs-src-old@freebsd.org; Wed, 28 Jan 2009 19:05:24 GMT (envelope-from jhb@repoman.freebsd.org) Message-Id: <200901281905.n0SJ5OKe093327@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to jhb@repoman.freebsd.org using -f From: John Baldwin Date: Wed, 28 Jan 2009 19:05:18 +0000 (UTC) To: cvs-src-old@freebsd.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/kern vfs_cache.c X-BeenThere: cvs-src-old@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: **OBSOLETE** CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Jan 2009 19:05:25 -0000 jhb 2009-01-28 19:05:18 UTC FreeBSD src repository Modified files: sys/kern vfs_cache.c Log: SVN rev 187839 on 2009-01-28 19:05:18Z by jhb Convert the global mutex protecting the directory lookup name cache from a mutex to a reader/writer lock. Lookup operations first grab a read lock and perform the lookup. If the operation results in a need to modify the cache, then it tries to do an upgrade. If that fails, it drops the read lock, obtains a write lock, and redoes the lookup. Revision Changes Path 1.135 +81 -46 src/sys/kern/vfs_cache.c