svn commit: r208524 - in head/sys: kern vm

Alan Cox alc at FreeBSD.org
Tue May 25 02:26:25 UTC 2010


Author: alc
Date: Tue May 25 02:26:25 2010
New Revision: 208524
URL: http://svn.freebsd.org/changeset/base/208524

Log:
  Eliminate the acquisition and release of the page queues lock from
  vfs_busy_pages().  It is no longer needed.
  
  Submitted by:	kib

Modified:
  head/sys/kern/vfs_bio.c
  head/sys/vm/vm_page.c

Modified: head/sys/kern/vfs_bio.c
==============================================================================
--- head/sys/kern/vfs_bio.c	Mon May 24 21:01:37 2010	(r208523)
+++ head/sys/kern/vfs_bio.c	Tue May 25 02:26:25 2010	(r208524)
@@ -3508,7 +3508,6 @@ vfs_page_set_validclean(struct buf *bp, 
 {
 	vm_ooffset_t soff, eoff;
 
-	mtx_assert(&vm_page_queue_mtx, MA_OWNED);
 	/*
 	 * Start and end offsets in buffer.  eoff - soff may not cross a
 	 * page boundry or cross the end of the buffer.  The end of the
@@ -3571,8 +3570,6 @@ retry:
 			goto retry;
 	}
 	bogus = 0;
-	if (clear_modify)
-		vm_page_lock_queues();
 	for (i = 0; i < bp->b_npages; i++) {
 		m = bp->b_pages[i];
 
@@ -3605,8 +3602,6 @@ retry:
 		}
 		foff = (foff + PAGE_SIZE) & ~(off_t)PAGE_MASK;
 	}
-	if (clear_modify)
-		vm_page_unlock_queues();
 	VM_OBJECT_UNLOCK(obj);
 	if (bogus)
 		pmap_qenter(trunc_page((vm_offset_t)bp->b_data),

Modified: head/sys/vm/vm_page.c
==============================================================================
--- head/sys/vm/vm_page.c	Mon May 24 21:01:37 2010	(r208523)
+++ head/sys/vm/vm_page.c	Tue May 25 02:26:25 2010	(r208524)
@@ -2084,7 +2084,6 @@ vm_page_set_validclean(vm_page_t m, int 
 	int frag;
 	int endoff;
 
-	mtx_assert(&vm_page_queue_mtx, MA_OWNED);
 	VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED);
 	if (size == 0)	/* handle degenerate case */
 		return;


More information about the svn-src-head mailing list