The pageout daemon does not usually page out pages it considers active.
authorMatthew Dillon <dillon@dragonflybsd.org>
Tue, 23 May 2006 01:21:48 +0000 (01:21 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Tue, 23 May 2006 01:21:48 +0000 (01:21 +0000)
commitb5ccee962b195ff7b4706db554bfa8eecf63a9de
treed5d5f9595ba146eebbdbd0f2583723e28191e833
parente36e284d3b4aa1de1741e5590dddfb667c5e66a3
The pageout daemon does not usually page out pages it considers active.
However, under certain types of heavy memory use it is possible to keep
nearly all of a machine's pages marked active.  This can result in a
degenerate situation where the pageout demon pages out so few pages that
it might as well not be operating at all, resulting in a machine lockup.

Adjust the pageout daemon to dig into active pages based on its loop
counter.  This counter will start to go up when the pageout daemon is not
able to keep up.  The higher counter gets, the more active pages
become candidates for paging.  We depend on fault-in rate limiting to
avoid thrashing to the point of inaccessibility.

Also-thanks-to: Peter Holms filesystem and load testing suite (stress2).
sys/vm/vm_pageout.c