Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 19 Feb 2002 09:58:13 +0000
From:      Ceri <setantae@submonkey.net>
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   docs/35108: Developers' Handbook::VM chapter
Message-ID:  <E16d72L-00017l-00@rhadamanth.private.submonkey.net>

next in thread | raw e-mail | index | archive | help

>Number:         35108
>Category:       docs
>Synopsis:       Developers' Handbook::VM chapter
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-doc
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          doc-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Feb 19 02:00:02 PST 2002
>Closed-Date:
>Last-Modified:
>Originator:     Ceri <setantae@submonkey.net>
>Release:        FreeBSD 4.5-STABLE i386
>Organization:
>Environment:
System: FreeBSD rhadamanth.private.submonkey.net 4.5-STABLE FreeBSD 4.5-STABLE #0: Tue Feb 12 17:56:57 GMT 2002 setantae@rhadamanth.private.submonkey.net:/usr/obj/usr/src/sys/RHADAMANTH i386


	
>Description:

- Minor grammar fixes
- fix a couple of typos
- <literal> -> <option> for maxusers
- NOT -> <emphasis>not</emphasis>

Ceri

>How-To-Repeat:
	
>Fix:

--- doc/en_US.ISO8859-1/books/developers-handbook/vm/chapter.sgml.old	Tue Feb 19 09:16:49 2002
+++ doc/en_US.ISO8859-1/books/developers-handbook/vm/chapter.sgml	Tue Feb 19 09:40:59 2002
@@ -53,7 +53,7 @@
 	allocation at interrupt time.</para>
 
       <para>If a process attempts to access a page that does not exist in its
-	page table but does exist in one of the paging queues ( such as the
+	page table but does exist in one of the paging queues (such as the
 	inactive or cache queues), a relatively inexpensive page reactivation
 	fault occurs which causes the page to be reactivated. If the page
 	does not exist in system memory at all, the process must block while
@@ -61,7 +61,7 @@
 
       <para>FreeBSD dynamically tunes its paging queues and attempts to
 	maintain reasonable ratios of pages in the various queues as well as
-	attempts to maintain a reasonable breakdown of clean v.s. dirty pages.
+	attempts to maintain a reasonable breakdown of clean vs. dirty pages.
 	The amount of rebalancing that occurs depends on the system's memory
 	load.  This rebalancing is implemented by the pageout daemon and
 	involves laundering dirty pages (syncing them with their backing
@@ -89,7 +89,7 @@
 	can be stacked on top of each other.  For example, you might have a
 	swap-backed VM object stacked on top of a file-backed VM object in
 	order to implement a MAP_PRIVATE mmap()ing.  This stacking is also
-	used to implement various sharing properties, including,
+	used to implement various sharing properties, including
 	copy-on-write, for forked address spaces.</para>
 
       <para>It should be noted that a <literal>vm_page_t</literal> can only be
@@ -106,12 +106,12 @@
 	system's idea of clean/dirty.  For example, when the VM system decides
 	to  synchronize a physical page to its backing store, the VM system
 	needs to mark the page clean before the page is actually written to
-	its backing s tore.  Additionally, filesystems need to be able to map
+	its backing store.  Additionally, filesystems need to be able to map
 	portions of a file or file metadata into KVM in order to operate on
 	it.</para>
 
       <para>The entities used to manage this are known as filesystem buffers,
-	<literal>struct buf</literal>'s, and also known as
+	<literal>struct buf</literal>'s, or
 	<literal>bp</literal>'s.  When a filesystem needs to operate on a
 	portion of a VM object, it typically maps part of the object into a
 	struct buf and the maps the pages in the struct buf into KVM.  In the
@@ -127,8 +127,8 @@
 	to hold mappings and does not limit the ability to cache data.
 	Physical data caching is strictly a function of
 	<literal>vm_page_t</literal>'s, not filesystem buffers.  However,
-	since filesystem buffers are used placehold I/O, they do inherently
-	limit the amount of concurrent I/O possible.  As there are usually a
+	since filesystem buffers are used to placehold I/O, they do inherently
+	limit the amount of concurrent I/O possible.  However, as there are usually a
 	few thousand filesystem buffers available, this is not usually a
 	problem.</para>
     </sect2>
@@ -147,13 +147,13 @@
 	<literal>vm_entry_t</literal> structures.  Page tables are directly
 	synthesized from the
 	<literal>vm_map_t</literal>/<literal>vm_entry_t</literal>/
-	<literal>vm_object_t</literal> hierarchy.  Remember when I mentioned
+	<literal>vm_object_t</literal> hierarchy.  Recall that I mentioned
 	that physical pages  are only directly associated with a
-	<literal>vm_object</literal>.  Well, that is not quite true.
+	<literal>vm_object</literal>; that is not quite true.
 	<literal>vm_page_t</literal>'s are also linked into page tables that
 	they are actively associated with.  One <literal>vm_page_t</literal>
 	can be linked into  several <emphasis>pmaps</emphasis>, as page tables
-	are called.  However, the hierarchical association holds so all
+	are called.  However, the hierarchical association holds, so all
 	references to the same page in the same object reference the same
 	<literal>vm_page_t</literal> and thus give us buffer cache unification
 	across the board.</para>
@@ -166,7 +166,7 @@
 	largest entity held in KVM is the filesystem buffer cache.  That is,
 	mappings relating to <literal>struct buf</literal> entities.</para>
 
-      <para>Unlike Linux, FreeBSD does NOT map all of physical memory into
+      <para>Unlike Linux, FreeBSD does <emphasis>not</emphasis> map all of physical memory into
 	KVM.  This means that FreeBSD can handle memory configurations up to
 	4G on 32 bit platforms.  In fact, if the mmu were capable of it,
 	FreeBSD could theoretically handle memory configurations up to 8TB on
@@ -186,23 +186,23 @@
       
       <para>A concerted effort has been made to make the FreeBSD kernel
 	dynamically tune itself.  Typically you do not need to mess with
-	anything beyond the <literal>maxusers</literal> and
-	<literal>NMBCLUSTERS</literal> kernel config options.  That is, kernel
+	anything beyond the <option>maxusers</option> and
+	<option>NMBCLUSTERS</option> kernel config options.  That is, kernel
 	compilation options specified in (typically)
 	<filename>/usr/src/sys/i386/conf/<replaceable>CONFIG_FILE</replaceable></filename>.
 	A description of all available kernel configuration options can be
 	found in <filename>/usr/src/sys/i386/conf/LINT</filename>.</para>
 
       <para>In a large system configuration you may wish to increase
-	<literal>maxusers</literal>.  Values typically range from 10 to 128.
-	Note that raising <literal>maxusers</literal> too high can cause the
+	<option>maxusers</option>.  Values typically range from 10 to 128.
+	Note that raising <option>maxusers</option> too high can cause the
 	system to overflow available KVM resulting in unpredictable operation.
-	It is better to leave maxusers at some reasonable number and add other
-	options, such as <literal>NMBCLUSTERS</literal>, to increase specific
+	It is better to leave <option>maxusers</option> at some reasonable number and add other
+	options, such as <option>NMBCLUSTERS</option>, to increase specific
 	resources.</para>
 
       <para>If your system is going to use the network heavily, you may want
-	to increase <literal>NMBCLUSTERS</literal>.  Typical values range from
+	to increase <option>NMBCLUSTERS</option>.  Typical values range from
 	1024 to 4096.</para>
 
       <para>The <literal>NBUF</literal> parameter is also traditionally used
@@ -232,8 +232,8 @@
 
       <para>Run time VM and system tuning is relatively straightforward.
 	First, use softupdates on your UFS/FFS filesystems whenever possible.
-	<filename>/usr/src/contrib/sys/softupdates/README</filename> contains
-	instructions (and restrictions) on how to configure it up.</para>
+	<filename>/usr/src/sys/ufs/ffs/README.softupdates</filename> contains
+	instructions (and restrictions) on how to configure it.</para>
 
       <para>Second, configure  sufficient swap.  You should have a swap
 	partition configured on each physical disk, up to four, even on your
>Release-Note:
>Audit-Trail:
>Unformatted:

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-doc" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E16d72L-00017l-00>