Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 28 Jun 2009 16:34:33 +0000 (UTC)
From:      Kip Macy <kmacy@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-user@freebsd.org
Subject:   svn commit: r195138 - user/kmacy/releng_7_2_fcs/sys/amd64/amd64
Message-ID:  <200906281634.n5SGYXOq016239@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: kmacy
Date: Sun Jun 28 16:34:33 2009
New Revision: 195138
URL: http://svn.freebsd.org/changeset/base/195138

Log:
  - add page lock to protect md pv list in pmap_pv_promote_pde
  - add pv_lock to protect stats in pmap_remove_pages

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	Sun Jun 28 15:38:50 2009	(r195137)
+++ user/kmacy/releng_7_2_fcs/sys/amd64/amd64/pmap.c	Sun Jun 28 16:34:33 2009	(r195138)
@@ -2227,7 +2227,9 @@ pmap_pv_promote_pde(pmap_t pmap, vm_offs
 	do {
 		m++;
 		va += PAGE_SIZE;
+		vm_page_lock(m);
 		pmap_pvh_free(&m->md, pmap, va, free);
+		vm_page_unlock(m);
 	} while (va < va_last);
 }
 
@@ -3984,9 +3986,11 @@ restart:
 				}
 
 				/* Mark free */
+				mtx_lock(&pv_lock);
 				PV_STAT(pv_entry_frees++);
 				PV_STAT(pv_entry_spare++);
 				pv_entry_count--;
+				mtx_unlock(&pv_lock);
 				pc->pc_map[field] |= bitmask;
 				if ((tpte & PG_PS) != 0) {
 					pmap->pm_stats.resident_count -= NBPDR / PAGE_SIZE;



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