diff options
author | dyson <dyson@FreeBSD.org> | 1998-02-05 03:32:49 +0000 |
---|---|---|
committer | dyson <dyson@FreeBSD.org> | 1998-02-05 03:32:49 +0000 |
commit | ebccbfc1ff2783a90468a1caf1dcdec08e2cdfda (patch) | |
tree | 55a2e387681d3f8a086c24b5ee5f182df4318779 /sys/vm/vm_pageout.c | |
parent | c552a9a1c3362d37fc1aaf3a9ba4231225b1f13a (diff) | |
download | FreeBSD-src-ebccbfc1ff2783a90468a1caf1dcdec08e2cdfda.zip FreeBSD-src-ebccbfc1ff2783a90468a1caf1dcdec08e2cdfda.tar.gz |
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.
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 66e2988..11c4d9f 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; |