aboutsummaryrefslogtreecommitdiff
path: root/sys/vm/vm_pageout.c
diff options
context:
space:
mode:
authorJohn Dyson <dyson@FreeBSD.org>1998-02-05 03:32:49 +0000
committerJohn Dyson <dyson@FreeBSD.org>1998-02-05 03:32:49 +0000
commit95461b450d8d76f79be75d7dd0aee4adec4223fb (patch)
tree19ec035c730260d5d3bb5bf2326838b26108d09e /sys/vm/vm_pageout.c
parent47cfdb166d16af183216e459e4e48aff9d2beabf (diff)
downloadsrc-95461b450d8d76f79be75d7dd0aee4adec4223fb.tar.gz
src-95461b450d8d76f79be75d7dd0aee4adec4223fb.zip
1) Start using a cleaner and more consistant page allocator instead
of the various ad-hoc schemes. 2) When bringing in UPAGES, the pmap code needs to do another vm_page_lookup. 3) When appropriate, set the PG_A or PG_M bits a-priori to both avoid some processor errata, and to minimize redundant processor updating of page tables. 4) Modify pmap_protect so that it can only remove permissions (as it originally supported.) The additional capability is not needed. 5) Streamline read-only to read-write page mappings. 6) For pmap_copy_page, don't enable write mapping for source page. 7) Correct and clean-up pmap_incore. 8) Cluster initial kern_exec pagin. 9) Removal of some minor lint from kern_malloc. 10) Correct some ioopt code. 11) Remove some dead code from the MI swapout routine. 12) Correct vm_object_deallocate (to remove backing_object ref.) 13) Fix dead object handling, that had problems under heavy memory load. 14) Add minor vm_page_lookup improvements. 15) Some pages are not in objects, and make sure that the vm_page.c can properly support such pages. 16) Add some more page deficit handling. 17) Some minor code readability improvements.
Notes
Notes: svn path=/head/; revision=33109
Diffstat (limited to 'sys/vm/vm_pageout.c')
-rw-r--r--sys/vm/vm_pageout.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/sys/vm/vm_pageout.c b/sys/vm/vm_pageout.c
index 66e29889433c..11c4d9ff03fa 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.110 1998/01/31 11:56:49 dyson Exp $
+ * $Id: vm_pageout.c,v 1.111 1998/02/04 22:33:56 eivind Exp $
*/
/*
@@ -369,7 +369,7 @@ vm_pageout_flush(mc, count, sync)
{
register vm_object_t object;
int pageout_status[count];
- int anyok = 0;
+ int numpagedout = 0;
int i;
object = mc[0]->object;
@@ -384,10 +384,10 @@ vm_pageout_flush(mc, count, sync)
switch (pageout_status[i]) {
case VM_PAGER_OK:
- anyok++;
+ numpagedout++;
break;
case VM_PAGER_PEND:
- anyok++;
+ numpagedout++;
break;
case VM_PAGER_BAD:
/*
@@ -423,7 +423,7 @@ vm_pageout_flush(mc, count, sync)
PAGE_WAKEUP(mt);
}
}
- return anyok;
+ return numpagedout;
}
#if !defined(NO_SWAPPING)
@@ -644,6 +644,7 @@ vm_pageout_scan()
pages_freed = 0;
addl_page_shortage = vm_pageout_deficit;
+ vm_pageout_deficit = 0;
if (max_page_launder == 0)
max_page_launder = 1;