diff options
author | dillon <dillon@FreeBSD.org> | 1999-02-24 21:26:26 +0000 |
---|---|---|
committer | dillon <dillon@FreeBSD.org> | 1999-02-24 21:26:26 +0000 |
commit | 3ad14cacdcabd4212b9384d2ea5ef5eb8a144543 (patch) | |
tree | 70e54e7b32beaa82ef4eb4c0d3de4109950694cf /sys/vm/vm_object.c | |
parent | 7648580bdbf37610588b295d581048815e510c04 (diff) | |
download | FreeBSD-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.c | 7 |
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 */ |