Date: Sun, 16 May 2010 23:45:10 +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: <201005170011.o4H0B7uw007551@repoman.freebsd.org>
index | next in thread | raw e-mail
alc 2010-05-16 23:45:10 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
Log:
SVN rev 208175 on 2010-05-16 23:45:10Z by alc
On entry to pmap_enter(), assert that the page is busy. While I'm
here, make the style of assertion used by pmap_enter() consistent
across all architectures.
On entry to pmap_remove_write(), assert that the page is neither
unmanaged nor fictitious, since we cannot remove write access to
either kind of page.
With the push down of the page queues lock, pmap_remove_write() cannot
condition its behavior on the state of the PG_WRITEABLE flag if the
page is busy. Assert that the object containing the page is locked.
This allows us to know that the page will neither become busy nor will
PG_WRITEABLE be set on it while pmap_remove_write() is running.
Correct a long-standing bug in vm_page_cowsetup(). We cannot possibly
do copy-on-write-based zero-copy transmit on unmanaged or fictitious
pages, so don't even try. Previously, the call to pmap_remove_write()
would have failed silently.
Revision Changes Path
1.697 +14 -2 src/sys/amd64/amd64/pmap.c
1.123 +13 -1 src/sys/arm/arm/pmap.c
1.677 +14 -2 src/sys/i386/i386/pmap.c
1.39 +16 -7 src/sys/i386/xen/pmap.c
1.218 +13 -5 src/sys/ia64/ia64/pmap.c
1.48 +13 -5 src/sys/mips/mips/pmap.c
1.138 +13 -1 src/sys/powerpc/aim/mmu_oea.c
1.25 +12 -1 src/sys/powerpc/aim/mmu_oea64.c
1.27 +12 -1 src/sys/powerpc/booke/pmap.c
1.195 +12 -1 src/sys/sparc64/sparc64/pmap.c
1.53 +13 -1 src/sys/sun4v/sun4v/pmap.c
1.402 +3 -1 src/sys/vm/vm_page.c
1.167 +2 -2 src/sys/vm/vm_page.h
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201005170011.o4H0B7uw007551>
