summaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authorbms <bms@FreeBSD.org>2003-10-04 01:30:01 +0000
committerbms <bms@FreeBSD.org>2003-10-04 01:30:01 +0000
commit4ea755a59dbc0d7f72310fa26475efadd644dfa9 (patch)
tree88590d1855db109df265db1dbf73edf00a3f14b8 /share
parentb1691aebe4218b5dedfc2dac5620bc1e02226f72 (diff)
downloadFreeBSD-src-4ea755a59dbc0d7f72310fa26475efadd644dfa9.zip
FreeBSD-src-4ea755a59dbc0d7f72310fa26475efadd644dfa9.tar.gz
Update the pmap(9) documentation to reflect the movement of pmap_prefault()
to the machine-independent VM layer, as per alc's recent commit. Add a definition for the new pmap_is_prefaultable() helper function.
Diffstat (limited to 'share')
-rw-r--r--share/man/man9/Makefile6
-rw-r--r--share/man/man9/pmap.92
-rw-r--r--share/man/man9/pmap_is_prefaultable.956
-rw-r--r--share/man/man9/vm_fault_prefault.971
4 files changed, 132 insertions, 3 deletions
diff --git a/share/man/man9/Makefile b/share/man/man9/Makefile
index 5f2a497..b7ba33e 100644
--- a/share/man/man9/Makefile
+++ b/share/man/man9/Makefile
@@ -62,9 +62,10 @@ MAN= BUF_LOCK.9 BUF_LOCKFREE.9 BUF_LOCKINIT.9 BUF_REFCNT.9 \
physio.9 printf.9 pseudofs.9 psignal.9 \
pmap.9 pmap_activate.9 pmap_addr_hint.9 pmap_change_wiring.9 \
pmap_clear_modify.9 pmap_copy.9 pmap_enter.9 pmap_extract.9 \
- pmap_growkernel.9 pmap_init.9 pmap_is_modified.9 pmap_map.9 \
+ pmap_growkernel.9 pmap_init.9 pmap_is_modified.9 \
+ pmap_is_prefaultable.9 pmap_map.9 \
pmap_mincore.9 pmap_object_init_pt.9 pmap_page_exists_quick.9 \
- pmap_page_protect.9 pmap_pinit.9 pmap_prefault.9 pmap_qenter.9 \
+ pmap_page_protect.9 pmap_pinit.9 pmap_qenter.9 \
pmap_release.9 pmap_remove.9 pmap_zero_page.9 \
random.9 resettodr.9 resource_int_value.9 resource_query_string.9 \
rtalloc.9 rtentry.9 runqueue.9 random_harvest.9 rijndael.9 \
@@ -81,6 +82,7 @@ MAN= BUF_LOCK.9 BUF_LOCKFREE.9 BUF_LOCKINIT.9 BUF_REFCNT.9 \
vfsconf.9 \
vget.9 vgone.9 vhold.9 vinvalbuf.9 \
vflush.9 \
+ vm_fault_prefault.9 \
vm_map.9 \
vm_map_check_protection.9 vm_map_clean.9 vm_map_create.9 \
vm_map_delete.9 vm_map_find.9 vm_map_findspace.9 vm_map_inherit.9 \
diff --git a/share/man/man9/pmap.9 b/share/man/man9/pmap.9
index 464e5cf..5ea1754 100644
--- a/share/man/man9/pmap.9
+++ b/share/man/man9/pmap.9
@@ -95,6 +95,7 @@ Each implementation is expected to maintain the statistics in this structure.
.Xr pmap_init 9 ,
.Xr pmap_init2 9 ,
.Xr pmap_is_modified 9 ,
+.Xr pmap_is_prefaultable 9 ,
.Xr pmap_map 9 ,
.Xr pmap_mincore 9 ,
.Xr pmap_object_init_pt 9 ,
@@ -103,7 +104,6 @@ Each implementation is expected to maintain the statistics in this structure.
.Xr pmap_pinit 9 ,
.Xr pmap_pinit0 9 ,
.Xr pmap_pinit2 9 ,
-.Xr pmap_prefault 9 ,
.Xr pmap_protect 9 ,
.Xr pmap_qenter 9 ,
.Xr pmap_qremove 9 ,
diff --git a/share/man/man9/pmap_is_prefaultable.9 b/share/man/man9/pmap_is_prefaultable.9
new file mode 100644
index 0000000..2fe2f06
--- /dev/null
+++ b/share/man/man9/pmap_is_prefaultable.9
@@ -0,0 +1,56 @@
+.\"
+.\" Copyright (c) 2003 Bruce M Simpson <bms@spc.org>
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd July 21, 2003
+.Dt PMAP_IS_PREFAULTABLE 9
+.Sh NAME
+.Nm pmap_is_prefaultable
+.Nd determine if a page may be prefaulted
+.Sh SYNOPSIS
+.In sys/param.h
+.In vm/vm.h
+.In vm/pmap.h
+.Ft boolean_t
+.Fn pmap_is_prefaultable "pmap_t pmap" "vm_offset_t va"
+.Sh DESCRIPTION
+The
+.Fn pmap_is_prefaultable
+function provides a means of determining if the page residing at
+virtual address
+.Fa va
+in the physical map
+.Fa pmap
+may be pre-faulted into main memory.
+.Pp
+This is a helper function which is called by
+.Fn vm_fault_prefault .
+.Sh SEE ALSO
+.Xr pmap 9 ,
+.Xr vm_fault_prefault 9
+.Sh AUTHORS
+This manual page was written by
+.An Bruce M Simpson Aq bms@spc.org .
diff --git a/share/man/man9/vm_fault_prefault.9 b/share/man/man9/vm_fault_prefault.9
new file mode 100644
index 0000000..55a18a4
--- /dev/null
+++ b/share/man/man9/vm_fault_prefault.9
@@ -0,0 +1,71 @@
+.\"
+.\" Copyright (c) 2003 Bruce M Simpson <bms@spc.org>
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd July 21, 2003
+.Dt VM_FAULT_PREFAULT 9
+.Sh NAME
+.Nm vm_fault_prefault
+.Nd cluster page faults into a process's address space
+.Sh SYNOPSIS
+.In sys/param.h
+.In vm/vm.h
+.In vm/pmap.h
+.Ft void
+.Fn vm_map_prefault "pmap_t pmap" "vm_offset_t addra" "vm_map_entry_t entry"
+.Sh DESCRIPTION
+The
+.Fn vm_map_prefault
+function provides a means of clustering pagefaults into a process's
+address space.
+It operates upon the physical map
+.Fa pmap .
+The
+.Fa entry
+argument specifies the entry to be prefaulted; the
+.Fa addra
+argument specifies the beginning of the mapping in the process's virtual
+address space.
+.Pp
+It is typically called by
+.Fn vm_fault
+after the first page fault.
+It benefits the
+.Fn exec
+system call by eliminating repetitive calls to
+.Fn vm_fault ,
+which would otherwise be made to bring the process's executable pages
+into physical memory.
+.Sh IMPLEMENTATION NOTES
+This is a machine-independent function which calls the machine-dependent
+.Fn pmap_is_prefaultable
+helper function to determine if a page may be prefaulted into main memory.
+.Sh SEE ALSO
+.Xr execve 2 ,
+.Xr pmap_is_prefaultable 9
+.Sh AUTHORS
+This manual page was written by
+.An Bruce M Simpson Aq bms@spc.org .
OpenPOWER on IntegriCloud