Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 20 Feb 2009 15:26:35 +0000 (UTC)
From:      Alan Cox <alc@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-user@freebsd.org
Subject:   svn commit: r188856 - user/alc/pagelock/sys/amd64/amd64
Message-ID:  <200902201526.n1KFQZhT032567@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: alc
Date: Fri Feb 20 15:26:34 2009
New Revision: 188856
URL: http://svn.freebsd.org/changeset/base/188856

Log:
  Optimize the object locking in pmap_remove_pages().

Modified:
  user/alc/pagelock/sys/amd64/amd64/pmap.c

Modified: user/alc/pagelock/sys/amd64/amd64/pmap.c
==============================================================================
--- user/alc/pagelock/sys/amd64/amd64/pmap.c	Fri Feb 20 15:19:07 2009	(r188855)
+++ user/alc/pagelock/sys/amd64/amd64/pmap.c	Fri Feb 20 15:26:34 2009	(r188856)
@@ -3936,10 +3936,6 @@ restart:
 				}
 			}
 		}
-		if (locked_object != NULL) {
-			VM_OBJECT_UNLOCK(locked_object);
-			locked_object = NULL;
-		}
 		if (allfree) {
 			PV_STAT(pv_entry_spare -= _NPCPV);
 			PV_STAT(pc_chunk_count--);
@@ -3952,6 +3948,8 @@ restart:
 			vm_page_free(m);
 		}
 	}
+	if (locked_object != NULL)
+		VM_OBJECT_UNLOCK(locked_object);
 	pmap_invalidate_all(pmap);
 	vm_page_unlock_queues();
 	PMAP_UNLOCK(pmap);



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