Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 19 Apr 2010 19:06:11 +0000 (UTC)
From:      Kip Macy <kmacy@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-user@freebsd.org
Subject:   svn commit: r206852 - user/kmacy/head_page_lock_2/sys/vm
Message-ID:  <201004191906.o3JJ6BR7088495@svn.freebsd.org>

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



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