Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 12 Aug 2016 18:07:44 +0000 (UTC)
From:      Alan Cox <alc@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-user@freebsd.org
Subject:   svn commit: r304010 - user/alc/PQ_LAUNDRY/sys/vm
Message-ID:  <201608121807.u7CI7iqE052208@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: alc
Date: Fri Aug 12 18:07:44 2016
New Revision: 304010
URL: https://svnweb.freebsd.org/changeset/base/304010

Log:
  Add a comment to the laundering code explaining what happens when the
  additional pages that make up a cluster are newly referenced.
  
  Reviewed by:	markj

Modified:
  user/alc/PQ_LAUNDRY/sys/vm/vm_pageout.c

Modified: user/alc/PQ_LAUNDRY/sys/vm/vm_pageout.c
==============================================================================
--- user/alc/PQ_LAUNDRY/sys/vm/vm_pageout.c	Fri Aug 12 16:13:50 2016	(r304009)
+++ user/alc/PQ_LAUNDRY/sys/vm/vm_pageout.c	Fri Aug 12 18:07:44 2016	(r304010)
@@ -1019,6 +1019,20 @@ requeue_page:
 				vm_page_requeue_locked(m);
 				goto drop_page;
 			}
+
+			/*
+			 * Form a cluster with adjacent, dirty pages from the
+			 * same object, and page out that entire cluster.
+			 *
+			 * The adjacent, dirty pages must also be in the
+			 * laundry.  However, their mappings are not checked
+			 * for new references.  Consequently, a recently
+			 * referenced page may be paged out.  However, that
+			 * page will not be prematurely reclaimed.  After page
+			 * out, the page will be placed in the inactive queue,
+			 * where any new references will be detected and the
+			 * page reactivated.
+			 */
 			error = vm_pageout_clean(m, &numpagedout);
 			if (error == 0) {
 				launder -= numpagedout;



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