MAP_POPULATE supports both file and anonymous mappings.

Since 2.6.23, MAP_POPULATE supports private mappings.
Since 2.6.23, MAP_NONBLOCK causes MAP_POPULATE to be a no-op.
This commit is contained in:
Michael Kerrisk 2008-05-05 20:10:11 +00:00
parent 22cddee1cd
commit f38fa944aa
1 changed files with 14 additions and 3 deletions

View File

@ -36,7 +36,7 @@
.\" Modified 2006-12-04, mtk, various parts rewritten
.\" 2007-07-10, mtk, Added an example program.
.\"
.TH MMAP 2 2008-04-22 "Linux" "Linux Programmer's Manual"
.TH MMAP 2 2008-05-05 "Linux" "Linux Programmer's Manual"
.SH NAME
mmap, munmap \- map or unmap files or devices into memory
.SH SYNOPSIS
@ -226,6 +226,15 @@ Only meaningful in conjunction with
Don't perform read-ahead:
only create page tables entries for pages
that are already present in RAM.
Since Linux 2.6.23,
this flags causes
.BR MAP_POPULATE
to do nothing.
One day the combination of
.BR MAP_POPULATE
and
.BR MAP_NONBLOCK
may be re-implemented.
.TP
.B MAP_NORESERVE
Do not reserve swap space for this mapping.
@ -243,9 +252,11 @@ In kernels before 2.6, this flag only had effect for
private writable mappings.
.TP
.BR MAP_POPULATE " (since Linux 2.5.46)"
Populate (prefault) page tables for a file mapping,
by performing read-ahead on the file.
Populate (prefault) page tables for a mapping.
For a file mapping, this causes read-ahead on the file.
Later accesses to the mapping will not be blocked by page faults.
.BR MAP_POPULATE
is only supported for private mappings since Linux 2.6.23.
.LP
Of the above flags, only
.B MAP_FIXED