Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 8 Jan 2018 13:19:15 +0000 (UTC)
From:      Konstantin Belousov <kib@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org
Subject:   svn commit: r327695 - stable/11/sys/vm
Message-ID:  <201801081319.w08DJFZT078099@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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;
+		}
 	}
 }
 



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