aboutsummaryrefslogtreecommitdiff
path: root/lib/libc/sys/madvise.2
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libc/sys/madvise.2')
-rw-r--r--lib/libc/sys/madvise.2186
1 files changed, 0 insertions, 186 deletions
diff --git a/lib/libc/sys/madvise.2 b/lib/libc/sys/madvise.2
deleted file mode 100644
index 6d0d3d2575a6..000000000000
--- a/lib/libc/sys/madvise.2
+++ /dev/null
@@ -1,186 +0,0 @@
-.\" Copyright (c) 1991, 1993
-.\" The Regents of the University of California. 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.
-.\" 3. Neither the name of the University nor the names of its contributors
-.\" may be used to endorse or promote products derived from this software
-.\" without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
-.\"
-.\" @(#)madvise.2 8.1 (Berkeley) 6/9/93
-.\" $FreeBSD$
-.\"
-.Dd July 12, 2015
-.Dt MADVISE 2
-.Os
-.Sh NAME
-.Nm madvise , posix_madvise
-.Nd give advice about use of memory
-.Sh LIBRARY
-.Lb libc
-.Sh SYNOPSIS
-.In sys/mman.h
-.Ft int
-.Fn madvise "void *addr" "size_t len" "int behav"
-.Ft int
-.Fn posix_madvise "void *addr" "size_t len" "int behav"
-.Sh DESCRIPTION
-The
-.Fn madvise
-system call
-allows a process that has knowledge of its memory behavior
-to describe it to the system.
-The
-.Fn posix_madvise
-interface is identical, except it returns an error number on error and does
-not modify
-.Va errno ,
-and is provided for standards conformance.
-.Pp
-The known behaviors are:
-.Bl -tag -width MADV_SEQUENTIAL
-.It Dv MADV_NORMAL
-Tells the system to revert to the default paging
-behavior.
-.It Dv MADV_RANDOM
-Is a hint that pages will be accessed randomly, and prefetching
-is likely not advantageous.
-.It Dv MADV_SEQUENTIAL
-Causes the VM system to depress the priority of
-pages immediately preceding a given page when it is faulted in.
-.It Dv MADV_WILLNEED
-Causes pages that are in a given virtual address range
-to temporarily have higher priority, and if they are in
-memory, decrease the likelihood of them being freed.
-Additionally,
-the pages that are already in memory will be immediately mapped into
-the process, thereby eliminating unnecessary overhead of going through
-the entire process of faulting the pages in.
-This WILL NOT fault
-pages in from backing store, but quickly map the pages already in memory
-into the calling process.
-.It Dv MADV_DONTNEED
-Allows the VM system to decrease the in-memory priority
-of pages in the specified address range.
-Consequently, future references to this address range are more likely
-to incur a page fault.
-.It Dv MADV_FREE
-Gives the VM system the freedom to free pages,
-and tells the system that information in the specified page range
-is no longer important.
-This is an efficient way of allowing
-.Xr malloc 3
-to free pages anywhere in the address space, while keeping the address space
-valid.
-The next time that the page is referenced, the page might be demand
-zeroed, or might contain the data that was there before the
-.Dv MADV_FREE
-call.
-References made to that address space range will not make the VM system
-page the information back in from backing store until the page is
-modified again.
-.It Dv MADV_NOSYNC
-Request that the system not flush the data associated with this map to
-physical backing store unless it needs to.
-Typically this prevents the
-file system update daemon from gratuitously writing pages dirtied
-by the VM system to physical disk.
-Note that VM/file system coherency is
-always maintained, this feature simply ensures that the mapped data is
-only flush when it needs to be, usually by the system pager.
-.Pp
-This feature is typically used when you want to use a file-backed shared
-memory area to communicate between processes (IPC) and do not particularly
-need the data being stored in that area to be physically written to disk.
-With this feature you get the equivalent performance with mmap that you
-would expect to get with SysV shared memory calls, but in a more controllable
-and less restrictive manner.
-However, note that this feature is not portable
-across UNIX platforms (though some may do the right thing by default).
-For more information see the MAP_NOSYNC section of
-.Xr mmap 2
-.It Dv MADV_AUTOSYNC
-Undoes the effects of MADV_NOSYNC for any future pages dirtied within the
-address range.
-The effect on pages already dirtied is indeterminate - they
-may or may not be reverted.
-You can guarantee reversion by using the
-.Xr msync 2
-or
-.Xr fsync 2
-system calls.
-.It Dv MADV_NOCORE
-Region is not included in a core file.
-.It Dv MADV_CORE
-Include region in a core file.
-.It Dv MADV_PROTECT
-Informs the VM system this process should not be killed when the
-swap space is exhausted.
-The process must have superuser privileges.
-This should be used judiciously in processes that must remain running
-for the system to properly function.
-.El
-.Pp
-Portable programs that call the
-.Fn posix_madvise
-interface should use the aliases
-.Dv POSIX_MADV_NORMAL , POSIX_MADV_SEQUENTIAL ,
-.Dv POSIX_MADV_RANDOM , POSIX_MADV_WILLNEED ,
-and
-.Dv POSIX_MADV_DONTNEED
-rather than the flags described above.
-.Sh RETURN VALUES
-.Rv -std madvise
-.Sh ERRORS
-The
-.Fn madvise
-system call will fail if:
-.Bl -tag -width Er
-.It Bq Er EINVAL
-The
-.Fa behav
-argument is not valid.
-.It Bq Er ENOMEM
-The virtual address range specified by the
-.Fa addr
-and
-.Fa len
-arguments is not valid.
-.It Bq Er EPERM
-.Dv MADV_PROTECT
-was specified and the process does not have superuser privileges.
-.El
-.Sh SEE ALSO
-.Xr mincore 2 ,
-.Xr mprotect 2 ,
-.Xr msync 2 ,
-.Xr munmap 2 ,
-.Xr posix_fadvise 2
-.Sh STANDARDS
-The
-.Fn posix_madvise
-interface conforms to
-.St -p1003.1-2001 .
-.Sh HISTORY
-The
-.Fn madvise
-system call first appeared in
-.Bx 4.4 .