Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 14 Jun 2015 05:23:40 +0000 (UTC)
From:      Alan Cox <alc@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r284376 - head/sys/vm
Message-ID:  <201506140523.t5E5NebT059452@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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) {
 			/*



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