mirror of
https://git.FreeBSD.org/src.git
synced 2025-01-06 13:09:50 +00:00
Undo the collapse breakage (swap space usage problem.)
This commit is contained in:
parent
54efd31a04
commit
106031ef73
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=21258
@ -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.60 1996/12/29 02:33:12 dyson Exp $
|
||||
* $Id: vm_fault.c,v 1.61 1997/01/01 04:45:02 dyson Exp $
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -701,7 +701,6 @@ RetryFault:;
|
||||
object = first_object;
|
||||
pindex = first_pindex;
|
||||
|
||||
#if defined(OLD_COLLAPSE_CODE)
|
||||
/*
|
||||
* Now that we've gotten the copy out of the way,
|
||||
* let's try to collapse the top object.
|
||||
@ -712,7 +711,6 @@ RetryFault:;
|
||||
vm_object_pip_wakeup(object);
|
||||
vm_object_collapse(object);
|
||||
object->paging_in_progress++;
|
||||
#endif
|
||||
} else {
|
||||
prot &= ~VM_PROT_WRITE;
|
||||
}
|
||||
|
@ -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.63 1996/12/28 23:07:48 dyson Exp $
|
||||
* $Id: vm_map.c,v 1.65 1997/01/01 04:45:03 dyson Exp $
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -2084,12 +2084,10 @@ vm_map_copy_entry(src_map, dst_map, src_entry, dst_entry)
|
||||
* Make a copy of the object.
|
||||
*/
|
||||
if (src_entry->object.vm_object) {
|
||||
#if defined(OLD_COLLAPSE_CODE)
|
||||
if ((src_entry->object.vm_object->handle == NULL) &&
|
||||
(src_entry->object.vm_object->type == OBJT_DEFAULT ||
|
||||
src_entry->object.vm_object->type == OBJT_SWAP))
|
||||
vm_object_collapse(src_entry->object.vm_object);
|
||||
#endif
|
||||
++src_entry->object.vm_object->ref_count;
|
||||
src_entry->copy_on_write = TRUE;
|
||||
src_entry->needs_copy = TRUE;
|
||||
|
@ -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.82 1996/09/28 03:33:26 dyson Exp $
|
||||
* $Id: vm_object.c,v 1.84 1997/01/01 04:45:04 dyson Exp $
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -793,7 +793,6 @@ vm_object_shadow(object, offset, length)
|
||||
}
|
||||
|
||||
|
||||
#if defined(OLD_COLLAPSE_CODE)
|
||||
/*
|
||||
* this version of collapse allows the operation to occur earlier and
|
||||
* when paging_in_progress is true for an object... This is not a complete
|
||||
@ -861,7 +860,6 @@ vm_object_qcollapse(object)
|
||||
}
|
||||
backing_object->ref_count -= 2;
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* vm_object_collapse:
|
||||
@ -914,9 +912,7 @@ vm_object_collapse(object)
|
||||
|
||||
if (object->paging_in_progress != 0 ||
|
||||
backing_object->paging_in_progress != 0) {
|
||||
#if defined(OLD_COLLAPSE_CODE)
|
||||
vm_object_qcollapse(object);
|
||||
#endif
|
||||
return;
|
||||
}
|
||||
|
||||
@ -1292,12 +1288,10 @@ vm_object_coalesce(prev_object, prev_pindex, prev_size, next_size)
|
||||
return (FALSE);
|
||||
}
|
||||
|
||||
#if defined(OLD_COLLAPSE_CODE)
|
||||
/*
|
||||
* Try to collapse the object first
|
||||
*/
|
||||
vm_object_collapse(prev_object);
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Can't coalesce if: . more than one reference . paged out . shadows
|
||||
|
@ -65,7 +65,7 @@
|
||||
* any improvements or extensions that they make and grant Carnegie the
|
||||
* rights to redistribute these changes.
|
||||
*
|
||||
* $Id: vm_pageout.c,v 1.87 1996/11/28 23:15:06 dyson Exp $
|
||||
* $Id: vm_pageout.c,v 1.88 1997/01/01 04:45:05 dyson Exp $
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -215,14 +215,12 @@ vm_pageout_clean(m, sync)
|
||||
((m->busy != 0) || (m->flags & PG_BUSY)))
|
||||
return 0;
|
||||
|
||||
#if defined(OLD_COLLAPSE_CODE)
|
||||
/*
|
||||
* Try collapsing before it's too late.
|
||||
*/
|
||||
if (!sync && object->backing_object) {
|
||||
vm_object_collapse(object);
|
||||
}
|
||||
#endif
|
||||
|
||||
mc[vm_pageout_page_count] = m;
|
||||
pageout_count = 1;
|
||||
|
Loading…
Reference in New Issue
Block a user