diff options
author | dg <dg@FreeBSD.org> | 1994-08-06 09:00:50 +0000 |
---|---|---|
committer | dg <dg@FreeBSD.org> | 1994-08-06 09:00:50 +0000 |
commit | f35b3c52c8c76e6ce5ef4d69f5dce9bcc02415ba (patch) | |
tree | 082072ee046cc7b59f3485c898b166bc8fc8c52d /sys/vm/vm_mmap.c | |
parent | 9719140bdfe07aea5f217adac3c4f94791677243 (diff) | |
download | FreeBSD-src-f35b3c52c8c76e6ce5ef4d69f5dce9bcc02415ba.zip FreeBSD-src-f35b3c52c8c76e6ce5ef4d69f5dce9bcc02415ba.tar.gz |
Enabled page table preloading of cached objects.
Submitted by: John Dyson
Diffstat (limited to 'sys/vm/vm_mmap.c')
-rw-r--r-- | sys/vm/vm_mmap.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/sys/vm/vm_mmap.c b/sys/vm/vm_mmap.c index 2c1624b..89f73e5 100644 --- a/sys/vm/vm_mmap.c +++ b/sys/vm/vm_mmap.c @@ -38,7 +38,7 @@ * from: Utah $Hdr: vm_mmap.c 1.6 91/10/21$ * * @(#)vm_mmap.c 8.4 (Berkeley) 1/12/94 - * $Id: vm_mmap.c,v 1.3 1994/08/02 07:55:28 davidg Exp $ + * $Id: vm_mmap.c,v 1.4 1994/08/04 03:06:44 davidg Exp $ */ /* @@ -68,6 +68,8 @@ int mmapdebug = 0; #define MDB_MAPIT 0x04 #endif +void pmap_object_init_pt(); + struct sbrk_args { int incr; }; @@ -712,6 +714,9 @@ vm_mmap(map, addr, size, prot, maxprot, flags, handle, foff) pager_cache(object, FALSE); else vm_object_deallocate(object); + + if( map->pmap) + pmap_object_init_pt(map->pmap, *addr, object, foff, size); } /* * Copy-on-write of file. Two flavors. @@ -784,6 +789,8 @@ vm_mmap(map, addr, size, prot, maxprot, flags, handle, foff) * protect everything ourselves. */ vm_object_pmap_copy(object, foff, foff + size); + if( map->pmap) + pmap_object_init_pt(map->pmap, *addr, object, foff, size); vm_object_deallocate(object); vm_map_deallocate(tmap); if (rv != KERN_SUCCESS) |