svn commit: r188908 - head/sys/dev/md

Alan Cox alc at FreeBSD.org
Sat Feb 21 18:50:31 PST 2009


Author: alc
Date: Sun Feb 22 02:50:31 2009
New Revision: 188908
URL: http://svn.freebsd.org/changeset/base/188908

Log:
  Remove unnecessary page queues locking around vm_page_wakeup().  (This
  change is applicable to RELENG_7 but not RELENG_6.)
  
  MFC after:	1 week

Modified:
  head/sys/dev/md/md.c

Modified: head/sys/dev/md/md.c
==============================================================================
--- head/sys/dev/md/md.c	Sun Feb 22 01:02:25 2009	(r188907)
+++ head/sys/dev/md/md.c	Sun Feb 22 02:50:31 2009	(r188908)
@@ -629,9 +629,7 @@ mdstart_swap(struct md_s *sc, struct bio
 			if (rv == VM_PAGER_ERROR) {
 				sf_buf_free(sf);
 				sched_unpin();
-				vm_page_lock_queues();
 				vm_page_wakeup(m);
-				vm_page_unlock_queues();
 				break;
 			}
 			bcopy((void *)(sf_buf_kva(sf) + offs), p, len);
@@ -641,9 +639,7 @@ mdstart_swap(struct md_s *sc, struct bio
 			if (rv == VM_PAGER_ERROR) {
 				sf_buf_free(sf);
 				sched_unpin();
-				vm_page_lock_queues();
 				vm_page_wakeup(m);
-				vm_page_unlock_queues();
 				break;
 			}
 			bcopy(p, (void *)(sf_buf_kva(sf) + offs), len);
@@ -655,9 +651,7 @@ mdstart_swap(struct md_s *sc, struct bio
 			if (rv == VM_PAGER_ERROR) {
 				sf_buf_free(sf);
 				sched_unpin();
-				vm_page_lock_queues();
 				vm_page_wakeup(m);
-				vm_page_unlock_queues();
 				break;
 			}
 			bzero((void *)(sf_buf_kva(sf) + offs), len);
@@ -667,8 +661,8 @@ mdstart_swap(struct md_s *sc, struct bio
 		}
 		sf_buf_free(sf);
 		sched_unpin();
-		vm_page_lock_queues();
 		vm_page_wakeup(m);
+		vm_page_lock_queues();
 		vm_page_activate(m);
 		if (bp->bio_cmd == BIO_WRITE)
 			vm_page_dirty(m);


More information about the svn-src-head mailing list