diff options
author | John Dyson <dyson@FreeBSD.org> | 1998-02-05 03:32:49 +0000 |
---|---|---|
committer | John Dyson <dyson@FreeBSD.org> | 1998-02-05 03:32:49 +0000 |
commit | 95461b450d8d76f79be75d7dd0aee4adec4223fb (patch) | |
tree | 19ec035c730260d5d3bb5bf2326838b26108d09e /sys/vm/vm_pageout.c | |
parent | 47cfdb166d16af183216e459e4e48aff9d2beabf (diff) | |
download | src-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.c | 11 |
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; |