Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 18 Jul 2012 21:47:51 +0000 (UTC)
From:      Konstantin Belousov <kib@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r238604 - head/sys/vm
Message-ID:  <201207182147.q6ILlpZQ014430@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: kib
Date: Wed Jul 18 21:47:50 2012
New Revision: 238604
URL: http://svn.freebsd.org/changeset/base/238604

Log:
  Do not restart scan of the inactive queue when non-inactive page is
  found. Rather, we shall not find such pages on inactive queue at all.
  
  Requested and reviewed by:	alc
  MFC after:    2 weeks

Modified:
  head/sys/vm/vm_pageout.c

Modified: head/sys/vm/vm_pageout.c
==============================================================================
--- head/sys/vm/vm_pageout.c	Wed Jul 18 21:30:17 2012	(r238603)
+++ head/sys/vm/vm_pageout.c	Wed Jul 18 21:47:50 2012	(r238604)
@@ -921,7 +921,6 @@ vm_pageout_scan(int pass)
 		maxlaunder = 10000;
 	vm_page_lock_queues();
 	queues_locked = TRUE;
-rescan0:
 	addl_page_shortage = addl_page_shortage_init;
 	maxscan = cnt.v_inactive_count;
 
@@ -930,12 +929,9 @@ rescan0:
 	     m = next) {
 		KASSERT(queues_locked, ("unlocked queues"));
 		mtx_assert(&vm_page_queue_mtx, MA_OWNED);
+		KASSERT(m->queue == PQ_INACTIVE, ("Inactive queue %p", m));
 
 		cnt.v_pdpages++;
-
-		if (m->queue != PQ_INACTIVE)
-			goto rescan0;
-
 		next = TAILQ_NEXT(m, pageq);
 
 		/*



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