svn commit: r310098 - head/sys/vm

Konstantin Belousov kib at FreeBSD.org
Wed Dec 14 23:36:34 UTC 2016


Author: kib
Date: Wed Dec 14 23:36:32 2016
New Revision: 310098
URL: https://svnweb.freebsd.org/changeset/base/310098

Log:
  Provide introductory description of the default pager.
  
  Reviewed by:	alc
  Sponsored by:	The FreeBSD Foundation
  MFC after:	1 week

Modified:
  head/sys/vm/default_pager.c

Modified: head/sys/vm/default_pager.c
==============================================================================
--- head/sys/vm/default_pager.c	Wed Dec 14 23:34:25 2016	(r310097)
+++ head/sys/vm/default_pager.c	Wed Dec 14 23:36:32 2016	(r310098)
@@ -57,6 +57,16 @@ static boolean_t	default_pager_haspage(v
 
 /*
  * 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,


More information about the svn-src-head mailing list