Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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://www.freebsd.org/cgi/man.cgi?query=madvise&sektion=2&manpath=OpenBSD+6.9>

home | help