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

Kip Macy kmacy at FreeBSD.org
Mon Apr 19 19:06:11 UTC 2010


Author: kmacy
Date: Mon Apr 19 19:06:10 2010
New Revision: 206852
URL: http://svn.freebsd.org/changeset/base/206852

Log:
  don't acquire page lock needlessly

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

Modified: user/kmacy/head_page_lock_2/sys/vm/vm_object.c
==============================================================================
--- user/kmacy/head_page_lock_2/sys/vm/vm_object.c	Mon Apr 19 18:30:11 2010	(r206851)
+++ user/kmacy/head_page_lock_2/sys/vm/vm_object.c	Mon Apr 19 19:06:10 2010	(r206852)
@@ -1436,15 +1436,14 @@ retry:
 		 * We do not have to VM_PROT_NONE the page as mappings should
 		 * not be changed by this operation.
 		 */
-		vm_page_lock(m);
 		if ((m->oflags & VPO_BUSY) || m->busy) {
-			vm_page_unlock(m);
 			VM_OBJECT_UNLOCK(new_object);
 			m->oflags |= VPO_WANTED;
 			msleep(m, VM_OBJECT_MTX(orig_object), PVM, "spltwt", 0);
 			VM_OBJECT_LOCK(new_object);
 			goto retry;
 		}
+		vm_page_lock(m);
 		vm_page_rename(m, new_object, idx);
 		/* page automatically made dirty by rename and cache handled */
 		vm_page_busy(m);


More information about the svn-src-user mailing list