summaryrefslogtreecommitdiffstats
path: root/sys/vm/vm_object.c
diff options
context:
space:
mode:
authordillon <dillon@FreeBSD.org>1999-02-24 21:26:26 +0000
committerdillon <dillon@FreeBSD.org>1999-02-24 21:26:26 +0000
commit3ad14cacdcabd4212b9384d2ea5ef5eb8a144543 (patch)
tree70e54e7b32beaa82ef4eb4c0d3de4109950694cf /sys/vm/vm_object.c
parent7648580bdbf37610588b295d581048815e510c04 (diff)
downloadFreeBSD-src-3ad14cacdcabd4212b9384d2ea5ef5eb8a144543.zip
FreeBSD-src-3ad14cacdcabd4212b9384d2ea5ef5eb8a144543.tar.gz
Remove unnecessary page protects on map_split and collapse operations.
Fix bug where an object's OBJ_WRITEABLE/OBJ_MIGHTBEDIRTY flags do not get set under certain circumstances ( page rename case ). Reviewed by: Alan Cox <alc@cs.rice.edu>, John Dyson
Diffstat (limited to 'sys/vm/vm_object.c')
-rw-r--r--sys/vm/vm_object.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c
index 686cf35..ea3b49c 100644
--- a/sys/vm/vm_object.c
+++ b/sys/vm/vm_object.c
@@ -61,7 +61,7 @@
* any improvements or extensions that they make and grant Carnegie the
* rights to redistribute these changes.
*
- * $Id: vm_object.c,v 1.150 1999/02/12 20:42:19 dillon Exp $
+ * $Id: vm_object.c,v 1.151 1999/02/15 02:03:40 dillon Exp $
*/
/*
@@ -1086,11 +1086,12 @@ vm_object_backing_scan(vm_object_t object, int op)
/*
* Page does not exist in parent, rename the
* page from the backing object to the main object.
+ *
+ * If the page was mapped to a process, it can remain
+ * mapped through the rename.
*/
if ((p->queue - p->pc) == PQ_CACHE)
vm_page_deactivate(p);
- else
- vm_page_protect(p, VM_PROT_NONE);
vm_page_rename(p, object, new_pindex);
/* page automatically made dirty by rename */
OpenPOWER on IntegriCloud