diff options
author | dg <dg@FreeBSD.org> | 1994-08-06 09:15:42 +0000 |
---|---|---|
committer | dg <dg@FreeBSD.org> | 1994-08-06 09:15:42 +0000 |
commit | 8b20309268255f6f6fbc908e5af8c9cde9a1a1c2 (patch) | |
tree | 67aa5e71ca8f826b24875a0de9a602849d2b2573 /sys/vm/vm_pageout.c | |
parent | edb74877fe59af8008b23d2137302c9ad64c15d2 (diff) | |
download | FreeBSD-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.c | 7 |
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; } |