FreeBSD Manual Pages
MADVISE(2) FreeBSD System Calls 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 mem- ory behavior to describe it to the system. The posix_madvise() interface has the same effect, but returns the error value instead of only setting errno. 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 recy- cled. 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 de- scribed above. RETURN VALUES The madvise() function returns the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indicate the error. If successful, the posix_madvise() function will return zero. Otherwise an error number will be returned to indicate the error. SEE ALSO minherit(2), mprotect(2), msync(2), munmap(2) STANDARDS The posix_madvise() system call conforms to IEEE Std 1003.1-2008 ("POSIX.1"). HISTORY The madvise() function first appeared in SunOS 4.0 and has been available since OpenBSD 2.7. The posix_madvise() function first appeared in OpenBSD 4.8. BUGS The MADV_WILLNEED behavior is ignored. The MADV_SPACEAVAIL behavior is not implemented and will always fail. FreeBSD 13.0 December 26, 2019 FreeBSD 13.0
NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | SEE ALSO | STANDARDS | HISTORY | BUGS
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=madvise&sektion=2&manpath=OpenBSD+6.9>