summaryrefslogtreecommitdiffstats
path: root/sys/vm
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2010-08-28 16:57:07 +0000
committeralc <alc@FreeBSD.org>2010-08-28 16:57:07 +0000
commit115cb6b29fac1d05cd165127e0c586a5da89e98b (patch)
treed4abb08d97bb3bfebf99cc70214a916561996d4d /sys/vm
parent76d72447281953457a8a3a319fdc80070bc5152c (diff)
downloadFreeBSD-src-115cb6b29fac1d05cd165127e0c586a5da89e98b.zip
FreeBSD-src-115cb6b29fac1d05cd165127e0c586a5da89e98b.tar.gz
Add the MAP_PREFAULT_READ option to mmap(2).
Reviewed by: jhb, kib
Diffstat (limited to 'sys/vm')
-rw-r--r--sys/vm/vm_mmap.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/vm/vm_mmap.c b/sys/vm/vm_mmap.c
index bd9f98f..2071cc7 100644
--- a/sys/vm/vm_mmap.c
+++ b/sys/vm/vm_mmap.c
@@ -1467,9 +1467,10 @@ vm_mmap(vm_map_t map, vm_offset_t *addr, vm_size_t size, vm_prot_t prot,
*/
if (handle == 0)
foff = 0;
- } else {
+ } else if (flags & MAP_PREFAULT_READ)
+ docow = MAP_PREFAULT;
+ else
docow = MAP_PREFAULT_PARTIAL;
- }
if ((flags & (MAP_ANON|MAP_SHARED)) == 0)
docow |= MAP_COPY_ON_WRITE;
OpenPOWER on IntegriCloud