MADVISE(2) OpenBSD Programmer's Manual MADVISE(2)NAME
madvise, posix_madvise - give advice about use of memory
SYNOPSIS
#include <sys/mman.h>
int
madvise(void *addr, size_t len, int behav);
int
posix_madvise(void *addr, size_t len, int behav);
DESCRIPTION
The madvise() system call allows a process that has knowledge of its
memory behavior to describe it to the system. The posix_madvise()
interface is identical and is provided for standards conformance.
The possible behaviors are:
MADV_NORMAL No further special treatment needed.
MADV_RANDOM Expect random page access patterns.
MADV_SEQUENTIAL Expect sequential page references.
MADV_WILLNEED The pages will be referenced soon.
MADV_DONTNEED The pages will not be referenced soon.
MADV_SPACEAVAIL Ensure that resources are reserved.
MADV_FREE The pages don't contain any useful data and can be
recycled.
Portable programs that call the posix_madvise() interface should use the
aliases POSIX_MADV_NORMAL, POSIX_MADV_RANDOM, POSIX_MADV_SEQUENTIAL,
POSIX_MADV_WILLNEED, and POSIX_MADV_DONTNEED rather than the flags
described above.
RETURN VALUES
Upon successful completion, a value of 0 is returned. Otherwise, a value
of -1 is returned and errno is set to indicate the error.
SEE ALSOmincore(2), minherit(2), mprotect(2), msync(2), munmap(2)STANDARDS
The posix_madvise() system call is expected to conform to the IEEE Std
1003.1-2001 (``POSIX'') standard.
HISTORY
The madvise function first appeared in 4.4BSD. The posix_madvise
function first appeared in OpenBSD 4.8.
OpenBSD 4.9 May 19, 2010 OpenBSD 4.9