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 .\" Modified 2006-12-04, mtk, various parts rewritten
.\" 2007-07-10, mtk, Added an example program. .\" 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 .SH NAME
mmap, munmap \- map or unmap files or devices into memory mmap, munmap \- map or unmap files or devices into memory
.SH SYNOPSIS .SH SYNOPSIS
@ -226,6 +226,15 @@ Only meaningful in conjunction with
Don't perform read-ahead: Don't perform read-ahead:
only create page tables entries for pages only create page tables entries for pages
that are already present in RAM. 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 .TP
.B MAP_NORESERVE .B MAP_NORESERVE
Do not reserve swap space for this mapping. 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. private writable mappings.
.TP .TP
.BR MAP_POPULATE " (since Linux 2.5.46)" .BR MAP_POPULATE " (since Linux 2.5.46)"
Populate (prefault) page tables for a file mapping, Populate (prefault) page tables for a mapping.
by performing read-ahead on the file. For a file mapping, this causes read-ahead on the file.
Later accesses to the mapping will not be blocked by page faults. 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 .LP
Of the above flags, only Of the above flags, only
.B MAP_FIXED .B MAP_FIXED