Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 21 Dec 2016 11:32:09 +0000 (UTC)
From:      Konstantin Belousov <kib@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject:   svn commit: r310363 - stable/10/sys/vm
Message-ID:  <201612211132.uBLBW9Ud019011@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: kib
Date: Wed Dec 21 11:32:08 2016
New Revision: 310363
URL: https://svnweb.freebsd.org/changeset/base/310363

Log:
  MFC r310098:
  Provide introductory description of the default pager.

Modified:
  stable/10/sys/vm/default_pager.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/vm/default_pager.c
==============================================================================
--- stable/10/sys/vm/default_pager.c	Wed Dec 21 09:59:55 2016	(r310362)
+++ stable/10/sys/vm/default_pager.c	Wed Dec 21 11:32:08 2016	(r310363)
@@ -63,6 +63,16 @@ static boolean_t default_pager_haspage(v
 		int *);
 /*
  * pagerops for OBJT_DEFAULT - "default pager".
+ *
+ * This pager handles anonymous (no handle) swap-backed memory, just
+ * like the swap pager.  It allows several optimizations based on the
+ * fact that no pages of a default object can be swapped out.  The
+ * most important optimization is in vm_fault(), where the pager is
+ * never asked for a non-resident page.  Instead, a freshly allocated
+ * zeroed page is used.
+ *
+ * On the first request to page out a page from a default object, the
+ * object is converted to swap pager type.
  */
 struct pagerops defaultpagerops = {
 	.pgo_alloc =	default_pager_alloc,



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