remap_file_pages man page on CentOS

Man page or keyword search:  
man Server   8420 pages
apropos Keyword Search (all sections)
Output format
CentOS logo
[printable version]

REMAP_FILE_PAGES(2)	   Linux Programmer's Manual	   REMAP_FILE_PAGES(2)

NAME
       remap_file_pages - create a non-linear file mapping

SYNOPSIS
       #include <sys/mman.h>

       int remap_file_pages(void *start, size_t size, int prot, ssize_t pgoff,
       int flags);

DESCRIPTION
       The remap_file_pages() system call is used to create a non-linear  map‐
       ping, that is, a mapping in which the pages of the file are mapped into
       a  non-sequential  order	  in   memory.	  The	advantage   of	 using
       remap_file_pages()  over	 using	repeated  calls to mmap(2) is that the
       former approach does not require the kernel to  create  additional  VMA
       (Virtual Memory Area) data structures.

       To create a non-linear mapping we perform the following steps:

       1.     Use  mmap()  to  create  a  mapping (which is initially linear).
	      This mapping must be created with the MAP_SHARED flag.

       2.     Use one or more calls to	remap_file_pages()  to	rearrange  the
	      correspondence between the pages of the mapping and the pages of
	      the file.	 It is possible to map the same page of	 a  file  into
	      multiple locations within the mapped region.

       The  pgoff and size arguments specify the region of the file that is to
       be relocated within the mapping: pgoff is a file offset in units of the
       system page size; size is the length of the region in bytes.

       The  start argument serves two purposes.	 First, it identifies the map‐
       ping whose pages we want to rearrange.  Thus, start must be an  address
       that falls within a region previously mapped by a call to mmap().  Sec‐
       ond, start specifies the address at which the file pages identified  by
       pgoff and size will be placed.

       The  values specified in start and size should be multiples of the sys‐
       tem page size.  If they are not, then the  kernel  rounds  both	values
       down to the nearest multiple of the page size.

       The prot argument must be specified as 0.

       The  flags  argument  has the same meaning as for mmap(), but all flags
       other than MAP_NONBLOCK are ignored.

RETURN VALUE
       On success, remap_file_pages() returns 0.  On error,  -1	 is  returned,
       and errno is set appropriately.

NOTES
       The remap_file_pages() system call appeared in Linux 2.5.46.

ERRORS
       EINVAL start  does  not	refer  to  a  valid  mapping  created with the
	      MAP_SHARED flag.

       EINVAL start, size, prot, or pgoff is invalid.

CONFORMING TO
       The remap_file_pages() system call is Linux specific.

SEE ALSO
       getpagesize(2), mmap(2), mmap2(2), mprotect(2), mremap(2), msync(2)

Linux 2.6			  2004-10-28		   REMAP_FILE_PAGES(2)
[top]

List of man pages available for CentOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net