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_glue.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_glue.c')
-rw-r--r-- | sys/vm/vm_glue.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/vm/vm_glue.c b/sys/vm/vm_glue.c index 9abb81b..801673c 100644 --- a/sys/vm/vm_glue.c +++ b/sys/vm/vm_glue.c @@ -59,7 +59,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: vm_glue.c,v 1.70 1998/01/22 17:30:34 dyson Exp $ + * $Id: vm_glue.c,v 1.71 1998/02/04 22:33:44 eivind Exp $ */ #include "opt_diagnostic.h" @@ -214,6 +214,7 @@ vm_fork(p1, p2, flags) } while ((cnt.v_free_count + cnt.v_cache_count) < cnt.v_free_min) { + vm_pageout_deficit += (UPAGES + VM_INITIAL_PAGEIN); VM_WAIT; } @@ -332,13 +333,12 @@ loop: for (p = allproc.lh_first; p != 0; p = p->p_list.le_next) { if (p->p_stat == SRUN && (p->p_flag & (P_INMEM | P_SWAPPING)) == 0) { - int mempri; pri = p->p_swtime + p->p_slptime; if ((p->p_flag & P_SWAPINREQ) == 0) { pri -= p->p_nice * 8; } - mempri = pri > 0 ? pri : 0; + /* * if this process is higher priority and there is * enough space, then select this process instead of |