svn commit: r327695 - stable/11/sys/vm

Konstantin Belousov kib at FreeBSD.org
Mon Jan 8 13:19:16 UTC 2018


Author: kib
Date: Mon Jan  8 13:19:15 2018
New Revision: 327695
URL: https://svnweb.freebsd.org/changeset/base/327695

Log:
  MFC r327468:
  Do not let vm_daemon run unbounded.

Modified:
  stable/11/sys/vm/vm_swapout.c
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/sys/vm/vm_swapout.c
==============================================================================
--- stable/11/sys/vm/vm_swapout.c	Mon Jan  8 12:56:53 2018	(r327694)
+++ stable/11/sys/vm/vm_swapout.c	Mon Jan  8 13:19:15 2018	(r327695)
@@ -201,6 +201,8 @@ vm_swapout_object_deactivate_pages(pmap_t pmap, vm_obj
 		TAILQ_FOREACH(p, &object->memq, listq) {
 			if (pmap_resident_count(pmap) <= desired)
 				goto unlock_return;
+			if (should_yield())
+				goto unlock_return;
 			if (vm_page_busied(p))
 				continue;
 			PCPU_INC(cnt.v_pdpages);
@@ -514,8 +516,10 @@ again:
 			PRELE(p);
 		}
 		sx_sunlock(&allproc_lock);
-		if (tryagain != 0 && attempts <= 10)
+		if (tryagain != 0 && attempts <= 10) {
+			maybe_yield();
 			goto again;
+		}
 	}
 }
 


More information about the svn-src-stable-11 mailing list