Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 23 May 2013 22:11:58 +0000 (UTC)
From:      Attilio Rao <attilio@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-user@freebsd.org
Subject:   svn commit: r250946 - in user/attilio/vmobj-readlock/sys: dev/drm2/i915 kern vm
Message-ID:  <201305232211.r4NMBwpF005404@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: attilio
Date: Thu May 23 22:11:57 2013
New Revision: 250946
URL: http://svnweb.freebsd.org/changeset/base/250946

Log:
  Consumers of vm_page_sleep_if_busy() always want to also check for the
  busy counter, so remove the feature to forbid that.
  
  Sponsored by:	EMC / Isilon storage division

Modified:
  user/attilio/vmobj-readlock/sys/dev/drm2/i915/i915_gem.c
  user/attilio/vmobj-readlock/sys/kern/subr_uio.c
  user/attilio/vmobj-readlock/sys/kern/vfs_bio.c
  user/attilio/vmobj-readlock/sys/vm/vm_fault.c
  user/attilio/vmobj-readlock/sys/vm/vm_object.c
  user/attilio/vmobj-readlock/sys/vm/vm_page.c
  user/attilio/vmobj-readlock/sys/vm/vm_page.h

Modified: user/attilio/vmobj-readlock/sys/dev/drm2/i915/i915_gem.c
==============================================================================
--- user/attilio/vmobj-readlock/sys/dev/drm2/i915/i915_gem.c	Thu May 23 21:33:10 2013	(r250945)
+++ user/attilio/vmobj-readlock/sys/dev/drm2/i915/i915_gem.c	Thu May 23 22:11:57 2013	(r250946)
@@ -2320,7 +2320,7 @@ retry:
 				continue;
 			vm_page_lock(m);
 			VM_OBJECT_WUNLOCK(devobj);
-			if (vm_page_sleep_if_busy(m, true, "915unm"))
+			if (vm_page_sleep_if_busy(m, "915unm"))
 				goto retry;
 			vm_page_unlock(m);
 			cdev_pager_free_page(devobj, m);

Modified: user/attilio/vmobj-readlock/sys/kern/subr_uio.c
==============================================================================
--- user/attilio/vmobj-readlock/sys/kern/subr_uio.c	Thu May 23 21:33:10 2013	(r250945)
+++ user/attilio/vmobj-readlock/sys/kern/subr_uio.c	Thu May 23 22:11:57 2013	(r250946)
@@ -108,7 +108,7 @@ vm_pgmoveco(vm_map_t mapa, vm_offset_t k
 retry:
 	if ((user_pg = vm_page_lookup(uobject, upindex)) != NULL) {
 		vm_page_lock(user_pg);
-		if (vm_page_sleep_if_busy(user_pg, TRUE, "vm_pgmoveco"))
+		if (vm_page_sleep_if_busy(user_pg, "vm_pgmoveco"))
 			goto retry;
 		pmap_remove_all(user_pg);
 		vm_page_free(user_pg);

Modified: user/attilio/vmobj-readlock/sys/kern/vfs_bio.c
==============================================================================
--- user/attilio/vmobj-readlock/sys/kern/vfs_bio.c	Thu May 23 21:33:10 2013	(r250945)
+++ user/attilio/vmobj-readlock/sys/kern/vfs_bio.c	Thu May 23 22:11:57 2013	(r250946)
@@ -3461,7 +3461,7 @@ allocbuf(struct buf *bp, int size)
 					    ("allocbuf: bogus page found"));
 					do {
 						vm_page_lock(m);
-					} while (vm_page_sleep_if_busy(m, TRUE,
+					} while (vm_page_sleep_if_busy(m,
 					    "biodep"));
 
 					bp->b_pages[i] = NULL;

Modified: user/attilio/vmobj-readlock/sys/vm/vm_fault.c
==============================================================================
--- user/attilio/vmobj-readlock/sys/vm/vm_fault.c	Thu May 23 21:33:10 2013	(r250945)
+++ user/attilio/vmobj-readlock/sys/vm/vm_fault.c	Thu May 23 22:11:57 2013	(r250946)
@@ -380,7 +380,7 @@ RetryFault:;
 				if (fs.m == vm_page_lookup(fs.object,
 				    fs.pindex)) {
 					vm_page_lock(fs.m);
-					if (!vm_page_sleep_if_busy(fs.m, TRUE,
+					if (!vm_page_sleep_if_busy(fs.m,
 					    "vmpfw"))
 						vm_page_unlock(fs.m);
 				}

Modified: user/attilio/vmobj-readlock/sys/vm/vm_object.c
==============================================================================
--- user/attilio/vmobj-readlock/sys/vm/vm_object.c	Thu May 23 21:33:10 2013	(r250945)
+++ user/attilio/vmobj-readlock/sys/vm/vm_object.c	Thu May 23 22:11:57 2013	(r250946)
@@ -872,7 +872,7 @@ rescan:
 		if (p->valid == 0)
 			continue;
 		vm_page_lock(p);
-		if (vm_page_sleep_if_busy(p, TRUE, "vpcwai")) {
+		if (vm_page_sleep_if_busy(p, "vpcwai")) {
 			if (object->generation != curgeneration) {
 				if ((flags & OBJPC_SYNC) != 0)
 					goto rescan;
@@ -1927,7 +1927,7 @@ again:
 			vm_page_unlock(p);
 			continue;
 		}
-		if (vm_page_sleep_if_busy(p, TRUE, "vmopar"))
+		if (vm_page_sleep_if_busy(p, "vmopar"))
 			goto again;
 		KASSERT((p->flags & PG_FICTITIOUS) == 0,
 		    ("vm_object_page_remove: page %p is fictitious", p));

Modified: user/attilio/vmobj-readlock/sys/vm/vm_page.c
==============================================================================
--- user/attilio/vmobj-readlock/sys/vm/vm_page.c	Thu May 23 21:33:10 2013	(r250945)
+++ user/attilio/vmobj-readlock/sys/vm/vm_page.c	Thu May 23 22:11:57 2013	(r250946)
@@ -790,12 +790,12 @@ _vm_page_sleep_onpage(vm_page_t m, int p
  *	The given page and object containing it must be locked.
  */
 int
-vm_page_sleep_if_busy(vm_page_t m, int also_m_busy, const char *msg)
+vm_page_sleep_if_busy(vm_page_t m, const char *msg)
 {
 	vm_object_t obj;
 
 	VM_OBJECT_ASSERT_WLOCKED(m->object);
-	if ((m->oflags & VPO_BUSY) || (also_m_busy && m->busy)) {
+	if ((m->oflags & VPO_BUSY) != 0 || m->busy != 0) {
 		/*
 		 * The page-specific object must be cached because page
 		 * identity can change during the sleep, causing the

Modified: user/attilio/vmobj-readlock/sys/vm/vm_page.h
==============================================================================
--- user/attilio/vmobj-readlock/sys/vm/vm_page.h	Thu May 23 21:33:10 2013	(r250945)
+++ user/attilio/vmobj-readlock/sys/vm/vm_page.h	Thu May 23 22:11:57 2013	(r250946)
@@ -403,7 +403,7 @@ void vm_page_rename (vm_page_t, vm_objec
 void vm_page_requeue(vm_page_t m);
 void vm_page_requeue_locked(vm_page_t m);
 void vm_page_set_valid_range(vm_page_t m, int base, int size);
-int vm_page_sleep_if_busy(vm_page_t m, int also_m_busy, const char *msg);
+int vm_page_sleep_if_busy(vm_page_t m, const char *msg);
 int vm_page_sleep_onpage(vm_page_t m, int pri, const char *msg, int timo);
 vm_offset_t vm_page_startup(vm_offset_t vaddr);
 void vm_page_unhold_pages(vm_page_t *ma, int count);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201305232211.r4NMBwpF005404>