diff options
author | dyson <dyson@FreeBSD.org> | 1996-03-28 04:53:28 +0000 |
---|---|---|
committer | dyson <dyson@FreeBSD.org> | 1996-03-28 04:53:28 +0000 |
commit | 903a66b4af563ab1d458c922fa4cbfc59d9cb018 (patch) | |
tree | e0dca2fd627513ccae987c257604750551675787 /sys/vm/vm_fault.c | |
parent | f766c05521db606311b3b7fe35b927377d6cf400 (diff) | |
download | FreeBSD-src-903a66b4af563ab1d458c922fa4cbfc59d9cb018.zip FreeBSD-src-903a66b4af563ab1d458c922fa4cbfc59d9cb018.tar.gz |
VM performance improvements, and reorder some operations in VM fault
in anticipation of a fix in pmap that will allow the mlock system call to work
without panicing the system.
Diffstat (limited to 'sys/vm/vm_fault.c')
-rw-r--r-- | sys/vm/vm_fault.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/sys/vm/vm_fault.c b/sys/vm/vm_fault.c index ca39157..e9f8f16 100644 --- a/sys/vm/vm_fault.c +++ b/sys/vm/vm_fault.c @@ -66,7 +66,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: vm_fault.c,v 1.41 1996/03/02 02:54:18 dyson Exp $ + * $Id: vm_fault.c,v 1.42 1996/03/09 06:48:26 dyson Exp $ */ /* @@ -705,15 +705,15 @@ readrest: } } + UNLOCK_THINGS; + m->flags |= PG_MAPPED|PG_REFERENCED; m->flags &= ~PG_ZERO; m->valid = VM_PAGE_BITS_ALL; pmap_enter(map->pmap, vaddr, VM_PAGE_TO_PHYS(m), prot, wired); -#if 0 - if (vp && change_wiring == 0 && wired == 0) + if (vp && (change_wiring == 0) && (wired == 0)) pmap_prefault(map->pmap, vaddr, entry, first_object); -#endif /* * If the page is not wired down, then put it where the pageout daemon @@ -742,7 +742,7 @@ readrest: */ PAGE_WAKEUP(m); - UNLOCK_AND_DEALLOCATE; + vm_object_deallocate(first_object); return (KERN_SUCCESS); |