summaryrefslogtreecommitdiffstats
path: root/sys/vm/vm_pageout.c
diff options
context:
space:
mode:
authordg <dg@FreeBSD.org>1994-08-06 09:15:42 +0000
committerdg <dg@FreeBSD.org>1994-08-06 09:15:42 +0000
commit8b20309268255f6f6fbc908e5af8c9cde9a1a1c2 (patch)
tree67aa5e71ca8f826b24875a0de9a602849d2b2573 /sys/vm/vm_pageout.c
parentedb74877fe59af8008b23d2137302c9ad64c15d2 (diff)
downloadFreeBSD-src-8b20309268255f6f6fbc908e5af8c9cde9a1a1c2.zip
FreeBSD-src-8b20309268255f6f6fbc908e5af8c9cde9a1a1c2.tar.gz
Incorporated post 1.1.5 work from John Dyson. This includes performance
improvements via the new routines pmap_qenter/pmap_qremove and pmap_kenter/ pmap_kremove. These routine allow fast mapping of pages for those architectures that have "normal" MMUs. Also included is a fix to the pageout daemon to properly check a queue end condition. Submitted by: John Dyson
Diffstat (limited to 'sys/vm/vm_pageout.c')
-rw-r--r--sys/vm/vm_pageout.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/vm/vm_pageout.c b/sys/vm/vm_pageout.c
index 7c092bb..d0b0d5a 100644
--- a/sys/vm/vm_pageout.c
+++ b/sys/vm/vm_pageout.c
@@ -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.5 1994/08/02 07:55:33 davidg Exp $
+ * $Id: vm_pageout.c,v 1.6 1994/08/04 03:06:47 davidg Exp $
*/
/*
@@ -617,10 +617,12 @@ rescan1:
if (written = vm_pageout_clean(m,0)) {
maxlaunder -= written;
}
+ if (!next)
+ break;
/*
* if the next page has been re-activated, start scanning again
*/
- if (!next || (next->flags & PG_INACTIVE) == 0)
+ if ((next->flags & PG_INACTIVE) == 0)
goto rescan1;
} else if (pmap_is_referenced(VM_PAGE_TO_PHYS(m))) {
pmap_clear_reference(VM_PAGE_TO_PHYS(m));
@@ -706,7 +708,6 @@ rescan1:
TAILQ_INSERT_TAIL(&m->object->memq, m, listq);
}
}
-
m = next;
}
OpenPOWER on IntegriCloud