svn commit: r248162 - user/attilio/vmobj-readlock/sys/vm

Attilio Rao attilio at FreeBSD.org
Mon Mar 11 13:50:41 UTC 2013


Author: attilio
Date: Mon Mar 11 13:50:40 2013
New Revision: 248162
URL: http://svnweb.freebsd.org/changeset/base/248162

Log:
  The VM_ALLOC_IFCACHED case does not require any object locking as
  it will only go through the object page cache and return.
  Lookups in the object's page cache are correctly handled by
  the vm_page_queue_free_mtx, which will be acquired correctly in this
  case.
  Relax the locking assertion.
  
  Sponsored by:	EMC / Isilon storage division

Modified:
  user/attilio/vmobj-readlock/sys/vm/vm_page.c

Modified: user/attilio/vmobj-readlock/sys/vm/vm_page.c
==============================================================================
--- user/attilio/vmobj-readlock/sys/vm/vm_page.c	Mon Mar 11 13:37:18 2013	(r248161)
+++ user/attilio/vmobj-readlock/sys/vm/vm_page.c	Mon Mar 11 13:50:40 2013	(r248162)
@@ -1184,7 +1184,7 @@ vm_page_alloc(vm_object_t object, vm_pin
 
 	KASSERT((object != NULL) == ((req & VM_ALLOC_NOOBJ) == 0),
 	    ("vm_page_alloc: inconsistent object/req"));
-	if (object != NULL)
+	if (object != NULL && (req & VM_ALLOC_IFCACHED) == 0)
 		VM_OBJECT_ASSERT_WLOCKED(object);
 
 	req_class = req & VM_ALLOC_CLASS_MASK;


More information about the svn-src-user mailing list