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;
+               }
        }
 }
 
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to