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>