svn commit: r192854 - user/kmacy/releng_7_2_fcs/sys/vm

Kip Macy kmacy at FreeBSD.org
Tue May 26 20:41:38 UTC 2009


Author: kmacy
Date: Tue May 26 20:41:37 2009
New Revision: 192854
URL: http://svn.freebsd.org/changeset/base/192854

Log:
  - add addition page lock not owned asserts
  - fix misconversion of page queue lock to page lock in vm_pageout_scan

Modified:
  user/kmacy/releng_7_2_fcs/sys/vm/vm_pageout.c

Modified: user/kmacy/releng_7_2_fcs/sys/vm/vm_pageout.c
==============================================================================
--- user/kmacy/releng_7_2_fcs/sys/vm/vm_pageout.c	Tue May 26 20:28:22 2009	(r192853)
+++ user/kmacy/releng_7_2_fcs/sys/vm/vm_pageout.c	Tue May 26 20:41:37 2009	(r192854)
@@ -785,7 +785,7 @@ rescan0:
 			addl_page_shortage++;
 			continue;
 		}
-
+		vm_page_lock_assert(m, MA_NOTOWNED);
 		if (vm_page_trylock(m) == 0) {
 			VM_OBJECT_UNLOCK(object);
 			addl_page_shortage++;
@@ -1043,16 +1043,18 @@ rescan0:
 				--page_shortage;
 				--maxlaunder;
 			} 
+			vm_page_lock_assert(m, MA_NOTOWNED);
 			vm_page_lock_queues();
 unlock_and_continue:
 			VM_OBJECT_UNLOCK(object);
 			if (mp != NULL) {
+				vm_page_unlock_queues();
 				if (vp != NULL)
 					vput(vp);
 				VFS_UNLOCK_GIANT(vfslocked);
 				vm_object_deallocate(object);
 				vn_finished_write(mp);
-				vm_page_lock(m);
+				vm_page_lock_queues();
 			}
 			next = TAILQ_NEXT(&marker, pageq);
 			TAILQ_REMOVE(&vm_page_queues[PQ_INACTIVE].pl,


More information about the svn-src-user mailing list