Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 1 Jan 2012 21:46:16 +0000 (UTC)
From:      Attilio Rao <attilio@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-user@freebsd.org
Subject:   svn commit: r229214 - user/attilio/vmcontention/sys/vm
Message-ID:  <201201012146.q01LkGIo032362@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: attilio
Date: Sun Jan  1 21:46:16 2012
New Revision: 229214
URL: http://svn.freebsd.org/changeset/base/229214

Log:
  Fix a spot missed during the last merge.

Modified:
  user/attilio/vmcontention/sys/vm/vm_reserv.c

Modified: user/attilio/vmcontention/sys/vm/vm_reserv.c
==============================================================================
--- user/attilio/vmcontention/sys/vm/vm_reserv.c	Sun Jan  1 21:43:14 2012	(r229213)
+++ user/attilio/vmcontention/sys/vm/vm_reserv.c	Sun Jan  1 21:46:16 2012	(r229214)
@@ -495,33 +495,21 @@ vm_reserv_alloc_page(vm_object_t object,
 	/*
 	 * Look for an existing reservation.
 	 */
-	msucc = NULL;
-	mpred = object->root;
-	while (mpred != NULL) {
+	mpred = vm_radix_lookup_le(&object->rtree, pindex, VM_RADIX_BLACK);
+	if (mpred != NULL) {
 		KASSERT(mpred->pindex != pindex,
 		    ("vm_reserv_alloc_page: pindex already allocated"));
 		rv = vm_reserv_from_page(mpred);
 		if (rv->object == object && vm_reserv_has_pindex(rv, pindex))
 			goto found;
-		else if (mpred->pindex < pindex) {
-			if (msucc != NULL ||
-			    (msucc = TAILQ_NEXT(mpred, listq)) == NULL)
-				break;
-			KASSERT(msucc->pindex != pindex,
-			    ("vm_reserv_alloc_page: pindex already allocated"));
-			rv = vm_reserv_from_page(msucc);
-			if (rv->object == object &&
-			    vm_reserv_has_pindex(rv, pindex))
-				goto found;
-			else if (pindex < msucc->pindex)
-				break;
-		} else if (msucc == NULL) {
-			msucc = mpred;
-			mpred = TAILQ_PREV(msucc, pglist, listq);
-			continue;
-		}
-		msucc = NULL;
-		mpred = object->root = vm_page_splay(pindex, object->root);
+	}
+	msucc = vm_radix_lookup_ge(&object->rtree, pindex, VM_RADIX_BLACK);
+	if (msucc != NULL) {
+		KASSERT(msucc->pindex != pindex,
+		    ("vm_reserv_alloc_page: pindex already allocated"));
+		rv = vm_reserv_from_page(msucc);
+		if (rv->object == object && vm_reserv_has_pindex(rv, pindex))
+			goto found;
 	}
 
 	/*



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