Date: Thu, 10 Jun 2010 16:56:35 +0000 (UTC) From: Alan Cox <alc@FreeBSD.org> To: cvs-src-old@freebsd.org 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 ... Message-ID: <201006101656.o5AGuv1g043482@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201006101656.o5AGuv1g043482>