diff options
Diffstat (limited to 'share/man/man9/vm_page_alloc.9')
-rw-r--r-- | share/man/man9/vm_page_alloc.9 | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/share/man/man9/vm_page_alloc.9 b/share/man/man9/vm_page_alloc.9 new file mode 100644 index 0000000..fd6d2a1 --- /dev/null +++ b/share/man/man9/vm_page_alloc.9 @@ -0,0 +1,98 @@ +.\" +.\" Copyright (C) 2001 Chad David <davidc@acns.ab.ca>. 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(s), this list of conditions and the following disclaimer as +.\" the first lines of this file unmodified other than the possible +.\" addition of one or more copyright notices. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice(s), 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 COPYRIGHT HOLDER(S) ``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 COPYRIGHT HOLDER(S) 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 13, 2001 +.Dt VM_PAGE_ALLOC 9 +.Os +.Sh NAME +.Nm vm_page_alloc +.Nd "allocates a page for the object and index" +.Sh SYNOPSIS +.In sys/param.h +.In vm/vm.h +.In vm/vm_page.h +.Ft vm_page_t +.Fn vm_page_alloc "vm_object_t object" "vm_pindex_t pindex" "int page_req" +.Sh DESCRIPTION +The +.Fn vm_page_alloc +function allocates a page for +.Fa pindex +in the VM object +.Fa object . +It is assumed that a page has not already been allocated for +.Fa pindex +and +.Fa object . +.Pp +The +.Fn vm_page_alloc +function will not block. +.Pp +Its arguments are: +.Bl -tag -width ".Fa page_req" +.It Fa object +The VM object to allocate the page for. +.It Fa pindex +The index of the page that should be allocated. +.It Fa page_req +A flag indicating how the page should be allocated. +.Bl -tag -width ".Dv VM_ALLOC_INTERRUPT" +.It Dv VM_ALLOC_NORMAL +The page should be allocated with no special treatment. +.It Dv VM_ALLOC_SYSTEM +The page can be allocated even if the buffer cache queue is empty +and the free count is above the interrupt reserved water mark. +This should be used only when the system really needs the page. +.It Dv VM_ALLOC_INTERRUPT +.Fn vm_page_alloc +is being called during an interrupt and therefore the cache cannot +be accessed. +The page will only be returned successfully if the free count is greater +than zero. +.It Dv VM_ALLOC_ZERO +The same as +.Dv VM_ALLOC_NORMAL +except the page returned is zeroed. +.El +.El +.Sh RETURN VALUES +A +.Vt vm_page_t +is returned if successful; otherwise, +.Dv NULL +is returned. +.Sh NOTES +The pager process is always upgraded to +.Dv VM_ALLOC_SYSTEM +unless +.Dv VM_ALLOC_INTERRUPT +is set. +.Sh AUTHORS +This man page was written by +.An Chad David Aq davidc@acns.ab.ca . |