From owner-cvs-src-old@FreeBSD.ORG Wed May 26 18:03:21 2010 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 9F1FC106566B for ; Wed, 26 May 2010 18:03:21 +0000 (UTC) (envelope-from alc@FreeBSD.org) Received: from repoman.freebsd.org (unknown [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 840FC8FC19 for ; Wed, 26 May 2010 18:03:21 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id o4QI3Lo0088098 for ; Wed, 26 May 2010 18:03:21 GMT (envelope-from alc@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id o4QI3LfT088097 for cvs-src-old@freebsd.org; Wed, 26 May 2010 18:03:21 GMT (envelope-from alc@repoman.freebsd.org) Message-Id: <201005261803.o4QI3LfT088097@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to alc@repoman.freebsd.org using -f From: Alan Cox Date: Wed, 26 May 2010 18:00:44 +0000 (UTC) To: cvs-src-old@freebsd.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/amd64/amd64 pmap.c src/sys/arm/arm pmap.c src/sys/i386/i386 pmap.c src/sys/i386/xen pmap.c src/sys/ia64/ia64 pmap.c src/sys/mips/mips pmap.c src/sys/powerpc/aim mmu_oea.c mmu_oea64.c src/sys/powerpc/booke pmap.c src/sys/sparc64/sparc64 ... 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, 26 May 2010 18:03:21 -0000 alc 2010-05-26 18:00:44 UTC FreeBSD src repository Modified files: sys/amd64/amd64 pmap.c sys/arm/arm pmap.c sys/i386/i386 pmap.c sys/i386/xen pmap.c sys/ia64/ia64 pmap.c sys/mips/mips pmap.c sys/powerpc/aim mmu_oea.c mmu_oea64.c sys/powerpc/booke pmap.c sys/sparc64/sparc64 pmap.c sys/sun4v/sun4v pmap.c sys/vm vm_map.c vm_mmap.c vm_page.c vnode_pager.c Log: SVN rev 208574 on 2010-05-26 18:00:44Z by alc Push down page queues lock acquisition in pmap_enter_object() and pmap_is_referenced(). Eliminate the corresponding page queues lock acquisitions from vm_map_pmap_enter() and mincore(), respectively. In mincore(), this allows some additional cases to complete without ever acquiring the page queues lock. Assert that the page is managed in pmap_is_referenced(). On powerpc/aim, push down the page queues lock acquisition from moea*_is_modified() and moea*_is_referenced() into moea*_query_bit(). Again, this will allow some additional cases to complete without ever acquiring the page queues lock. Reorder a few statements in vm_page_dontneed() so that a race can't lead to an old reference persisting. This scenario is described in detail by a comment. Correct a spelling error in vm_page_dontneed(). Assert that the object is locked in vm_page_clear_dirty(), and restrict the page queues lock assertion to just those cases in which the page is currently writeable. Add object locking to vnode_pager_generic_putpages(). This was the one and only place where vm_page_clear_dirty() was being called without the object being locked. Eliminate an unnecessary vm_page_lock() around vnode_pager_setsize()'s call to vm_page_clear_dirty(). Change vnode_pager_generic_putpages() to the modern-style of function definition. Also, change the name of one of the parameters to follow virtual memory system naming conventions. Reviewed by: kib Revision Changes Path 1.699 +10 -5 src/sys/amd64/amd64/pmap.c 1.125 +5 -2 src/sys/arm/arm/pmap.c 1.679 +10 -5 src/sys/i386/i386/pmap.c 1.41 +6 -4 src/sys/i386/xen/pmap.c 1.220 +6 -2 src/sys/ia64/ia64/pmap.c 1.52 +5 -2 src/sys/mips/mips/pmap.c 1.140 +9 -7 src/sys/powerpc/aim/mmu_oea.c 1.27 +9 -8 src/sys/powerpc/aim/mmu_oea64.c 1.29 +10 -5 src/sys/powerpc/booke/pmap.c 1.197 +13 -6 src/sys/sparc64/sparc64/pmap.c 1.55 +9 -1 src/sys/sun4v/sun4v/pmap.c 1.430 +1 -14 src/sys/vm/vm_map.c 1.241 +10 -3 src/sys/vm/vm_mmap.c 1.406 +12 -3 src/sys/vm/vm_page.c 1.263 +22 -18 src/sys/vm/vnode_pager.c