Author: alc
Date: Sun Jun 14 05:23:39 2015
New Revision: 284376
URL: https://svnweb.freebsd.org/changeset/base/284376

Log:
  As the next step in eliminating PG_CACHE pages, free rather than cache
  pages in vm_pageout_scan().  The reactivation rate of cache pages created
  by vm_pageout_scan() is extremely low; typically no more than 0.5% to
  2.25% of the pages are ever reactivated.  At the same time, caching pages
  is more expensive than freeing them.  For example, in a test with
  PostgreSQL, this change reduced the amount of time spent in the inactive
  queue scan by 1/6.
  
  Differential Revision:        https://reviews.freebsd.org/D2805
  Reviewed by:  kib
  Sponsored by: EMC / Isilon Storage Division

Modified:
  head/sys/vm/vm_pageout.c

Modified: head/sys/vm/vm_pageout.c
==============================================================================
--- head/sys/vm/vm_pageout.c    Sun Jun 14 05:12:48 2015        (r284375)
+++ head/sys/vm/vm_pageout.c    Sun Jun 14 05:23:39 2015        (r284376)
@@ -1233,10 +1233,10 @@ vm_pageout_scan(struct vm_domain *vmd, i
                        --page_shortage;
                } else if (m->dirty == 0) {
                        /*
-                        * Clean pages can be placed onto the cache queue.
-                        * This effectively frees them.
+                        * Clean pages can be freed.
                         */
-                       vm_page_cache(m);
+                       vm_page_free(m);
+                       PCPU_INC(cnt.v_dfree);
                        --page_shortage;
                } else if ((m->flags & PG_WINATCFLS) == 0 && pass < 2) {
                        /*
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to