unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (OpenBSD-5.7)
Page:
Section:
Apropos / Subsearch:
optional field

MADVISE(2)                  BSD System Calls Manual                 MADVISE(2)

NAME
     madvise, posix_madvise -- give advice about use of memory

SYNOPSIS
     #include <&lt;sys/mman.h>&gt;

     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
     described 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
     mincore(2), 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 4.4BSD.  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.

BSD                             March 27, 2017                             BSD