From owner-svn-src-user@FreeBSD.ORG Wed Jul 1 20:42:18 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 866F41065670; Wed, 1 Jul 2009 20:42:18 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 755628FC12; Wed, 1 Jul 2009 20:42:18 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n61KgIWl023391; Wed, 1 Jul 2009 20:42:18 GMT (envelope-from kmacy@svn.freebsd.org) Received: (from kmacy@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n61KgIQY023389; Wed, 1 Jul 2009 20:42:18 GMT (envelope-from kmacy@svn.freebsd.org) Message-Id: <200907012042.n61KgIQY023389@svn.freebsd.org> From: Kip Macy Date: Wed, 1 Jul 2009 20:42:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195258 - user/kmacy/releng_7_2_fcs/sys/amd64/amd64 X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 20:42:18 -0000 Author: kmacy Date: Wed Jul 1 20:42:17 2009 New Revision: 195258 URL: http://svn.freebsd.org/changeset/base/195258 Log: drop pv lock while calling pmap_collect Modified: user/kmacy/releng_7_2_fcs/sys/amd64/amd64/pmap.c Modified: user/kmacy/releng_7_2_fcs/sys/amd64/amd64/pmap.c ============================================================================== --- user/kmacy/releng_7_2_fcs/sys/amd64/amd64/pmap.c Wed Jul 1 20:16:29 2009 (r195257) +++ user/kmacy/releng_7_2_fcs/sys/amd64/amd64/pmap.c Wed Jul 1 20:42:17 2009 (r195258) @@ -2095,8 +2095,8 @@ retry: VM_ALLOC_SYSTEM : VM_ALLOC_NORMAL) | VM_ALLOC_NOOBJ | VM_ALLOC_WIRED); if (m == NULL) { + pv_entry_count--; if (try) { - pv_entry_count--; PV_STAT(pc_chunk_tryfail++); mtx_unlock(&pv_lock); return (NULL); @@ -2114,7 +2114,10 @@ retry: pq = &vm_page_queues[PQ_ACTIVE]; } else panic("get_pv_entry: increase vm.pmap.shpgperproc"); + mtx_unlock(&pv_lock); pmap_collect(pmap, pq); + mtx_lock(&pv_lock); + pv_entry_count++; goto retry; } PV_STAT(pc_chunk_count++);