From owner-cvs-src@FreeBSD.ORG Wed Nov 9 08:19:22 2005 Return-Path: X-Original-To: cvs-src@FreeBSD.org Delivered-To: cvs-src@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DBBFF16A41F; Wed, 9 Nov 2005 08:19:22 +0000 (GMT) (envelope-from alc@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A20C343D45; Wed, 9 Nov 2005 08:19:22 +0000 (GMT) (envelope-from alc@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id jA98JMZJ005730; Wed, 9 Nov 2005 08:19:22 GMT (envelope-from alc@repoman.freebsd.org) Received: (from alc@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id jA98JMIP005729; Wed, 9 Nov 2005 08:19:22 GMT (envelope-from alc) Message-Id: <200511090819.jA98JMIP005729@repoman.freebsd.org> From: Alan Cox Date: Wed, 9 Nov 2005 08:19:21 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Cc: Subject: cvs commit: src/sys/alpha/alpha pmap.c src/sys/amd64/amd64 pmap.c src/sys/i386/i386 pmap.c src/sys/ia64/ia64 pmap.c src/sys/powerpc/powerpc pmap.c src/sys/sparc64/sparc64 pmap.c src/sys/vm pmap.h vm_pageout.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Nov 2005 08:19:23 -0000 alc 2005-11-09 08:19:21 UTC FreeBSD src repository Modified files: sys/alpha/alpha pmap.c sys/amd64/amd64 pmap.c sys/i386/i386 pmap.c sys/ia64/ia64 pmap.c sys/powerpc/powerpc pmap.c sys/sparc64/sparc64 pmap.c sys/vm pmap.h vm_pageout.c Log: Reimplement the reclamation of PV entries. Specifically, perform reclamation synchronously from get_pv_entry() instead of asynchronously as part of the page daemon. Additionally, limit the reclamation to inactive pages unless allocation from the PV entry zone or reclamation from the inactive queue fails. Previously, reclamation destroyed mappings to both inactive and active pages. get_pv_entry() still, however, wakes up the page daemon when reclamation occurs. The reason being that the page daemon may move some pages from the active queue to the inactive queue, making some new pages available to future reclamations. Print the "reclaiming PV entries" message at most once per minute, but don't stop printing it after the fifth time. This way, we do not give the impression that the problem has gone away. Reviewed by: tegge Revision Changes Path 1.184 +41 -30 src/sys/alpha/alpha/pmap.c 1.533 +42 -33 src/sys/amd64/amd64/pmap.c 1.538 +42 -35 src/sys/i386/i386/pmap.c 1.170 +65 -14 src/sys/ia64/ia64/pmap.c 1.103 +0 -2 src/sys/powerpc/powerpc/pmap.c 1.150 +0 -2 src/sys/sparc64/sparc64/pmap.c 1.73 +0 -2 src/sys/vm/pmap.h 1.270 +0 -34 src/sys/vm/vm_pageout.c