From owner-cvs-src-old@FreeBSD.ORG Mon May 24 14:33:36 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 E9994106566C for ; Mon, 24 May 2010 14:33:35 +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 CED1E8FC1D for ; Mon, 24 May 2010 14:33:35 +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 o4OEXYT3053720 for ; Mon, 24 May 2010 14:33:34 GMT (envelope-from alc@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id o4OEXYfX053719 for cvs-src-old@freebsd.org; Mon, 24 May 2010 14:33:34 GMT (envelope-from alc@repoman.freebsd.org) Message-Id: <201005241433.o4OEXYfX053719@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to alc@repoman.freebsd.org using -f From: Alan Cox Date: Mon, 24 May 2010 14:26:57 +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/kern vfs_bio.c src/sys/mips/mips pmap.c src/sys/powerpc/aim mmu_oea.c mmu_oea64.c src/sys/powerpc/booke ... 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: Mon, 24 May 2010 14:33:36 -0000 alc 2010-05-24 14:26:57 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/kern vfs_bio.c sys/mips/mips pmap.c sys/powerpc/aim mmu_oea.c mmu_oea64.c sys/powerpc/booke pmap.c sys/powerpc/powerpc mmu_if.m pmap_dispatch.c sys/sparc64/sparc64 pmap.c sys/sun4v/sun4v pmap.c sys/sys pcpu.h sys/vm pmap.h vm_mmap.c vm_object.c vm_page.c vm_page.h vm_pageout.c Log: SVN rev 208504 on 2010-05-24 14:26:57Z by alc Roughly half of a typical pmap_mincore() implementation is machine- independent code. Move this code into mincore(), and eliminate the page queues lock from pmap_mincore(). Push down the page queues lock into pmap_clear_modify(), pmap_clear_reference(), and pmap_is_modified(). Assert that these functions are never passed an unmanaged page. Eliminate an inaccurate comment from powerpc/powerpc/mmu_if.m: Contrary to what the comment says, pmap_mincore() is not simply an optimization. Without a complete pmap_mincore() implementation, mincore() cannot return either MINCORE_MODIFIED or MINCORE_REFERENCED because only the pmap can provide this information. Eliminate the page queues lock from vfs_setdirty_locked_object(), vm_pageout_clean(), vm_object_page_collect_flush(), and vm_object_page_clean(). Generally speaking, these are all accesses to the page's dirty field, which are synchronized by the containing vm object's lock. Reduce the scope of the page queues lock in vm_object_madvise() and vm_page_dontneed(). Reviewed by: kib (an earlier version) Revision Changes Path 1.698 +56 -51 src/sys/amd64/amd64/pmap.c 1.124 +22 -1 src/sys/arm/arm/pmap.c 1.678 +56 -51 src/sys/i386/i386/pmap.c 1.40 +53 -54 src/sys/i386/xen/pmap.c 1.219 +55 -56 src/sys/ia64/ia64/pmap.c 1.579 +0 -2 src/sys/kern/vfs_bio.c 1.50 +68 -44 src/sys/mips/mips/pmap.c 1.139 +34 -6 src/sys/powerpc/aim/mmu_oea.c 1.26 +34 -6 src/sys/powerpc/aim/mmu_oea64.c 1.28 +48 -32 src/sys/powerpc/booke/pmap.c 1.14 +5 -4 src/sys/powerpc/powerpc/mmu_if.m 1.22 +2 -2 src/sys/powerpc/powerpc/pmap_dispatch.c 1.196 +40 -12 src/sys/sparc64/sparc64/pmap.c 1.54 +37 -2 src/sys/sun4v/sun4v/pmap.c 1.38 +1 -0 src/sys/sys/pcpu.h 1.90 +2 -1 src/sys/vm/pmap.h 1.240 +67 -26 src/sys/vm/vm_mmap.c 1.423 +6 -29 src/sys/vm/vm_object.c 1.404 +4 -3 src/sys/vm/vm_page.c 1.168 +4 -2 src/sys/vm/vm_page.h 1.323 +0 -6 src/sys/vm/vm_pageout.c