svn commit: r188909 - in stable/7/sys: . amd64/amd64 contrib/pf dev/ath/ath_hal dev/cxgb i386/i386

Alan Cox alc at FreeBSD.org
Sat Feb 21 19:02:48 PST 2009


Author: alc
Date: Sun Feb 22 03:02:46 2009
New Revision: 188909
URL: http://svn.freebsd.org/changeset/base/188909

Log:
  MFC r188608
    Remove unnecessary page queues locking around vm_page_busy() and
    vm_page_wakeup().

Modified:
  stable/7/sys/   (props changed)
  stable/7/sys/amd64/amd64/pmap.c
  stable/7/sys/contrib/pf/   (props changed)
  stable/7/sys/dev/ath/ath_hal/   (props changed)
  stable/7/sys/dev/cxgb/   (props changed)
  stable/7/sys/i386/i386/pmap.c

Modified: stable/7/sys/amd64/amd64/pmap.c
==============================================================================
--- stable/7/sys/amd64/amd64/pmap.c	Sun Feb 22 02:50:31 2009	(r188908)
+++ stable/7/sys/amd64/amd64/pmap.c	Sun Feb 22 03:02:46 2009	(r188909)
@@ -2639,9 +2639,7 @@ retry:
 			}
 
 			p = vm_page_lookup(object, pindex);
-			vm_page_lock_queues();
 			vm_page_wakeup(p);
-			vm_page_unlock_queues();
 		}
 
 		ptepa = VM_PAGE_TO_PHYS(p);
@@ -2655,15 +2653,11 @@ retry:
 			while ((pdpg =
 			    pmap_allocpde(pmap, va, M_NOWAIT)) == NULL) {
 				PMAP_UNLOCK(pmap);
-				vm_page_lock_queues();
 				vm_page_busy(p);
-				vm_page_unlock_queues();
 				VM_OBJECT_UNLOCK(object);
 				VM_WAIT;
 				VM_OBJECT_LOCK(object);
-				vm_page_lock_queues();
 				vm_page_wakeup(p);
-				vm_page_unlock_queues();
 				PMAP_LOCK(pmap);
 			}
 			pde = (pd_entry_t *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(pdpg));

Modified: stable/7/sys/i386/i386/pmap.c
==============================================================================
--- stable/7/sys/i386/i386/pmap.c	Sun Feb 22 02:50:31 2009	(r188908)
+++ stable/7/sys/i386/i386/pmap.c	Sun Feb 22 03:02:46 2009	(r188909)
@@ -2713,9 +2713,7 @@ retry:
 			}
 
 			p = vm_page_lookup(object, pindex);
-			vm_page_lock_queues();
 			vm_page_wakeup(p);
-			vm_page_unlock_queues();
 		}
 
 		ptepa = VM_PAGE_TO_PHYS(p);


More information about the svn-src-stable-7 mailing list