svn commit: r207214 - user/kmacy/head_page_lock_2/sys/vm

Kip Macy kmacy at FreeBSD.org
Mon Apr 26 01:12:14 UTC 2010


Author: kmacy
Date: Mon Apr 26 01:12:13 2010
New Revision: 207214
URL: http://svn.freebsd.org/changeset/base/207214

Log:
  My understanding (alc correct me if I'm wrong) is that we don't need protect wire_count if the page is unmanaged
  and the wire count is 1

Modified:
  user/kmacy/head_page_lock_2/sys/vm/vm_page.c

Modified: user/kmacy/head_page_lock_2/sys/vm/vm_page.c
==============================================================================
--- user/kmacy/head_page_lock_2/sys/vm/vm_page.c	Sun Apr 25 23:51:05 2010	(r207213)
+++ user/kmacy/head_page_lock_2/sys/vm/vm_page.c	Mon Apr 26 01:12:13 2010	(r207214)
@@ -1595,10 +1595,13 @@ void
 vm_page_unwire(vm_page_t m, int activate)
 {
 
-	vm_page_lock_assert(m, MA_OWNED);
 	if (m->flags & PG_FICTITIOUS)
 		return;
 	if (m->wire_count > 0) {
+#ifdef INVARIANTS
+		if ((m->wire_count > 1) || !(m->flags & PG_UNMANAGED))
+			vm_page_lock_assert(m, MA_OWNED);
+#endif		
 		m->wire_count--;
 		if (m->wire_count == 0) {
 			atomic_subtract_int(&cnt.v_wire_count, 1);


More information about the svn-src-user mailing list