OpenBSD manual page server

Manual Page Search Parameters

MADVISE(2) System Calls Manual MADVISE(2)

madvise, posix_madvisegive advice about use of memory

#include <sys/mman.h>

int
madvise(void *addr, size_t len, int behav);

int
posix_madvise(void *addr, size_t len, int behav);

The () 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:

No further special treatment needed.
Expect random page access patterns.
Expect sequential page references.
The pages will be referenced soon.
The pages will not be referenced soon.
Ensure that resources are reserved.
The pages don't contain any useful data and can be recycled.

Portable programs that call the () 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.

Upon successful completion, a value of 0 is returned. Otherwise, a value of -1 is returned and errno is set to indicate the error.

mincore(2), minherit(2), mprotect(2), msync(2), munmap(2)

The posix_madvise() system call conforms to IEEE Std 1003.1-2008 (“POSIX.1”).

The madvise function first appeared in 4.4BSD. The posix_madvise function first appeared in OpenBSD 4.8.

The MADV_WILLNEED behavior is ignored. The MADV_SPACEAVAIL behavior is not implemented and will always fail.

March 30, 2013 OpenBSD-5.4