From owner-cvs-src-old@FreeBSD.ORG Mon May 17 00:11:09 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 3D4D71065674 for ; Mon, 17 May 2010 00:11:09 +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 0E0608FC0A for ; Mon, 17 May 2010 00:11:09 +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 o4H0B7uV007552 for ; Mon, 17 May 2010 00:11:07 GMT (envelope-from alc@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id o4H0B7uw007551 for cvs-src-old@freebsd.org; Mon, 17 May 2010 00:11:07 GMT (envelope-from alc@repoman.freebsd.org) Message-Id: <201005170011.o4H0B7uw007551@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to alc@repoman.freebsd.org using -f From: Alan Cox Date: Sun, 16 May 2010 23:45:10 +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: Mon, 17 May 2010 00:11:09 -0000 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