svn commit: r304010 - user/alc/PQ_LAUNDRY/sys/vm
Alan Cox
alc at FreeBSD.org
Fri Aug 12 18:07:45 UTC 2016
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;
More information about the svn-src-user
mailing list