Date: Mon, 24 May 2010 14:26:57 +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/kern vfs_bio.c src/sys/mips/mips pmap.c src/sys/powerpc/aim mmu_oea.c mmu_oea64.c src/sys/powerpc/booke ... Message-ID: <201005241433.o4OEXYfX053719@repoman.freebsd.org>
index | next in thread | raw e-mail
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
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201005241433.o4OEXYfX053719>
