From owner-cvs-src-old@FreeBSD.ORG Thu Jun 10 16:56:57 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 BFC4A106578C for ; Thu, 10 Jun 2010 16:56:57 +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 AB1C78FC17 for ; Thu, 10 Jun 2010 16:56:57 +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 o5AGuvnG043483 for ; Thu, 10 Jun 2010 16:56:57 GMT (envelope-from alc@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id o5AGuv1g043482 for cvs-src-old@freebsd.org; Thu, 10 Jun 2010 16:56:57 GMT (envelope-from alc@repoman.freebsd.org) Message-Id: <201006101656.o5AGuv1g043482@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to alc@repoman.freebsd.org using -f From: Alan Cox Date: Thu, 10 Jun 2010 16:56:35 +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: Thu, 10 Jun 2010 16:56:57 -0000 alc 2010-06-10 16:56:35 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_page.c vm_page.h vm_pageout.c Log: SVN rev 208990 on 2010-06-10 16:56:35Z by alc Reduce the scope of the page queues lock and the number of PG_REFERENCED changes in vm_pageout_object_deactivate_pages(). Simplify this function's inner loop using TAILQ_FOREACH(), and shorten some of its overly long lines. Update a stale comment. Assert that PG_REFERENCED may be cleared only if the object containing the page is locked. Add a comment documenting this. Assert that a caller to vm_page_requeue() holds the page queues lock, and assert that the page is on a page queue. Push down the page queues lock into pmap_ts_referenced() and pmap_page_exists_quick(). (As of now, there are no longer any pmap functions that expect to be called with the page queues lock held.) Neither pmap_ts_referenced() nor pmap_page_exists_quick() should ever be passed an unmanaged page. Assert this rather than returning "0" and "FALSE" respectively. ARM: Simplify pmap_page_exists_quick() by switching to TAILQ_FOREACH(). Push down the page queues lock inside of pmap_clearbit(), simplifying pmap_clear_modify(), pmap_clear_reference(), and pmap_remove_write(). Additionally, this allows for avoiding the acquisition of the page queues lock in some cases. PowerPC/AIM: moea*_page_exits_quick() and moea*_page_wired_mappings() will never be called before pmap initialization is complete. Therefore, the check for moea_initialized can be eliminated. Push down the page queues lock inside of moea*_clear_bit(), simplifying moea*_clear_modify() and moea*_clear_reference(). The last parameter to moea*_clear_bit() is never used. Eliminate it. PowerPC/BookE: Simplify mmu_booke_page_exists_quick()'s control flow. Reviewed by: kib@ Revision Changes Path 1.704 +20 -13 src/sys/amd64/amd64/pmap.c 1.128 +16 -22 src/sys/arm/arm/pmap.c 1.685 +19 -13 src/sys/i386/i386/pmap.c 1.45 +13 -9 src/sys/i386/xen/pmap.c 1.223 +14 -14 src/sys/ia64/ia64/pmap.c 1.62 +15 -10 src/sys/mips/mips/pmap.c 1.143 +22 -30 src/sys/powerpc/aim/mmu_oea.c 1.29 +21 -33 src/sys/powerpc/aim/mmu_oea64.c 1.32 +17 -17 src/sys/powerpc/booke/pmap.c 1.199 +15 -9 src/sys/sparc64/sparc64/pmap.c 1.59 +13 -11 src/sys/sun4v/sun4v/pmap.c 1.410 +9 -7 src/sys/vm/vm_page.c 1.170 +3 -0 src/sys/vm/vm_page.h 1.324 +30 -38 src/sys/vm/vm_pageout.c