svn commit: r284376 - head/sys/vm
Alan Cox
alc at FreeBSD.org
Sun Jun 14 05:23:40 UTC 2015
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) {
/*
More information about the svn-src-head
mailing list