svn commit: r292104 - stable/10/sys/vm

Konstantin Belousov kib at FreeBSD.org
Fri Dec 11 13:20:53 UTC 2015


Author: kib
Date: Fri Dec 11 13:20:51 2015
New Revision: 292104
URL: https://svnweb.freebsd.org/changeset/base/292104

Log:
  MFC r291408:
  In vm_pageout_grow_cache(), do not re-try the inactive queue when
  active queue scan initiated write, to avoid infinite loop.

Modified:
  stable/10/sys/vm/vm_pageout.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/vm/vm_pageout.c
==============================================================================
--- stable/10/sys/vm/vm_pageout.c	Fri Dec 11 13:19:33 2015	(r292103)
+++ stable/10/sys/vm/vm_pageout.c	Fri Dec 11 13:20:51 2015	(r292104)
@@ -728,32 +728,33 @@ vm_pageout_grow_cache(int tries, vm_padd
 	 * the specified address range, as indicated by segments
 	 * constituting the domain.
 	 */
-again:
+again_inact:
 	if (inactl < inactmax) {
 		if (vm_phys_domain_intersects(vm_dom[dom].vmd_segs,
 		    low, high) &&
 		    vm_pageout_launder(&vm_dom[dom].vmd_pagequeues[PQ_INACTIVE],
 		    tries, low, high)) {
 			inactl++;
-			goto again;
+			goto again_inact;
 		}
 		if (++dom == vm_ndomains)
 			dom = 0;
 		if (dom != initial_dom)
-			goto again;
+			goto again_inact;
 	}
+again_act:
 	if (actl < actmax) {
 		if (vm_phys_domain_intersects(vm_dom[dom].vmd_segs,
 		    low, high) &&
 		    vm_pageout_launder(&vm_dom[dom].vmd_pagequeues[PQ_ACTIVE],
 		      tries, low, high)) {
 			actl++;
-			goto again;
+			goto again_act;
 		}
 		if (++dom == vm_ndomains)
 			dom = 0;
 		if (dom != initial_dom)
-			goto again;
+			goto again_act;
 	}
 }
 


More information about the svn-src-all mailing list