aboutsummaryrefslogtreecommitdiff
path: root/sys/vm
diff options
context:
space:
mode:
authorJohn Dyson <dyson@FreeBSD.org>1998-05-04 17:12:53 +0000
committerJohn Dyson <dyson@FreeBSD.org>1998-05-04 17:12:53 +0000
commit96fb8cf258ea2eb6b4a08855f5b214c078c546d6 (patch)
tree2b8d482d3412566cd54e9e94da43ba41285c8ca4 /sys/vm
parentb03605afba8e0f41cc5c98740dacf743829fae8c (diff)
Notes
Diffstat (limited to 'sys/vm')
-rw-r--r--sys/vm/vm_map.c6
-rw-r--r--sys/vm/vm_object.h3
2 files changed, 5 insertions, 4 deletions
diff --git a/sys/vm/vm_map.c b/sys/vm/vm_map.c
index ab961b3e4bf6b..aeecbf83f1d34 100644
--- a/sys/vm/vm_map.c
+++ b/sys/vm/vm_map.c
@@ -61,7 +61,7 @@
* any improvements or extensions that they make and grant Carnegie the
* rights to redistribute these changes.
*
- * $Id: vm_map.c,v 1.123 1998/05/02 06:36:16 dyson Exp $
+ * $Id: vm_map.c,v 1.124 1998/05/04 03:01:44 dyson Exp $
*/
/*
@@ -1832,7 +1832,7 @@ vm_map_delete(map, start, end)
} else {
pmap_remove(map->pmap, s, e);
if (object &&
- (object->flags & OBJ_ONEMAPPING) &&
+ ((object->flags & (OBJ_NOSPLIT|OBJ_ONEMAPPING)) == OBJ_ONEMAPPING) &&
((object->type == OBJT_SWAP) || (object->type == OBJT_DEFAULT))) {
vm_object_collapse(object);
vm_object_page_remove(object, offidxstart, offidxend, FALSE);
@@ -2051,7 +2051,7 @@ vm_map_copy_entry(src_map, dst_map, src_entry, dst_entry)
(src_object->type == OBJT_DEFAULT ||
src_object->type == OBJT_SWAP)) {
vm_object_collapse(src_object);
- if (src_object->flags & OBJ_ONEMAPPING) {
+ if ((src_object->flags & (OBJ_NOSPLIT|OBJ_ONEMAPPING)) == OBJ_ONEMAPPING) {
vm_map_split(src_entry);
src_map->timestamp++;
src_object = src_entry->object.vm_object;
diff --git a/sys/vm/vm_object.h b/sys/vm/vm_object.h
index cc9c6bc05f535..e700d5321a696 100644
--- a/sys/vm/vm_object.h
+++ b/sys/vm/vm_object.h
@@ -61,7 +61,7 @@
* any improvements or extensions that they make and grant Carnegie the
* rights to redistribute these changes.
*
- * $Id: vm_object.h,v 1.47 1998/03/07 21:37:09 dyson Exp $
+ * $Id: vm_object.h,v 1.48 1998/04/29 04:28:12 dyson Exp $
*/
/*
@@ -128,6 +128,7 @@ struct vm_object {
*/
#define OBJ_ACTIVE 0x0004 /* active objects */
#define OBJ_DEAD 0x0008 /* dead objects (during rundown) */
+#define OBJ_NOSPLIT 0x0010 /* dont split this object */
#define OBJ_PIPWNT 0x0040 /* paging in progress wanted */
#define OBJ_WRITEABLE 0x0080 /* object has been made writable */
#define OBJ_MIGHTBEDIRTY 0x0100 /* object might be dirty */