Implement a VM load heuristic. sysctl vm.vm_load will return an indication
commit46311ac27fb45e8daecb0d2050645dbe5d8630a7
authorMatthew Dillon <dillon@dragonflybsd.org>
Wed, 15 Mar 2006 07:58:37 +0000 (15 07:58 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Wed, 15 Mar 2006 07:58:37 +0000 (15 07:58 +0000)
treed540a106fe351831d35fb75369aef7e71d9b1605
parenta0d57516a940d384c82af7628944ba21d6f8b275
Implement a VM load heuristic.  sysctl vm.vm_load will return an indication
of the load on the VM system in the range 0-1000.

Implement a page allocation rate limit in vm_fault which is based on
vm_load, and enabled via vm.vm_load_enable (default on).  As the system
becomes more and more memory bound, those processes whos page faults
require a page allocation will start to allocate pages in smaller bursts
and with greater and greater enforced delays, up to 1/10 of a second.

Implement vm.vm_load_debug (for kernels with INVARIANTS), which outputs
the burst calculations to the console when enabled.

Increase the minimum guarenteed run time without swapping from 2 to 15
seconds.
sys/vm/vm_extern.h
sys/vm/vm_fault.c
sys/vm/vm_glue.c
sys/vm/vm_map.h
sys/vm/vm_pageout.c
sys/vm/vm_pageout.h