Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 1 Jul 2009 20:42:18 +0000 (UTC)
From:      Kip Macy <kmacy@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-user@freebsd.org
Subject:   svn commit: r195258 - user/kmacy/releng_7_2_fcs/sys/amd64/amd64
Message-ID:  <200907012042.n61KgIQY023389@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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++);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200907012042.n61KgIQY023389>