summaryrefslogtreecommitdiffstats
path: root/sys/vm/vm_map.c
diff options
context:
space:
mode:
authordyson <dyson@FreeBSD.org>1998-02-25 03:56:15 +0000
committerdyson <dyson@FreeBSD.org>1998-02-25 03:56:15 +0000
commit014146c040ed6640e606b46e58c066fc3a1c442c (patch)
tree58ba9b01b799e946135e458cf791510488f813df /sys/vm/vm_map.c
parentff694902b34f411a83d04c782b9310e79c3701e9 (diff)
downloadFreeBSD-src-014146c040ed6640e606b46e58c066fc3a1c442c.zip
FreeBSD-src-014146c040ed6640e606b46e58c066fc3a1c442c.tar.gz
Fix page prezeroing for SMP, and fix some potential paging-in-progress
hangs. The paging-in-progress diagnosis was a result of Tor Egge's excellent detective work. Submitted by: Partially from Tor Egge.
Diffstat (limited to 'sys/vm/vm_map.c')
-rw-r--r--sys/vm/vm_map.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/sys/vm/vm_map.c b/sys/vm/vm_map.c
index cb4b22f..930d687 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.115 1998/02/20 13:11:54 bde Exp $
+ * $Id: vm_map.c,v 1.116 1998/02/23 08:22:33 dyson Exp $
*/
/*
@@ -2632,12 +2632,7 @@ vm_freeze_copyopts(object, froma, toa)
vm_object_reference(robject);
- s = splvm();
- while (robject->paging_in_progress) {
- robject->flags |= OBJ_PIPWNT;
- tsleep(robject, PVM, "objfrz", 0);
- }
- splx(s);
+ vm_object_pip_wait(robject, "objfrz");
if (robject->ref_count == 1) {
vm_object_deallocate(robject);
OpenPOWER on IntegriCloud