git: VM - Adjust inactive_target and pageout code.
Matthew Dillon
dillon at crater.dragonflybsd.org
Sun Nov 1 22:09:26 PST 2009
commit 51db7ca2caa1000f5b348048cf568c6372121061
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Sun Nov 1 21:50:32 2009 -0800
VM - Adjust inactive_target and pageout code.
Continue tuning page recyclement in the VM paging queues. Fix an issue
where the memory used to recycle one-time-use cache data becomes too
constricted. For example if blogbench is run on one directory and then
run again on another directory, too many pages cached from the first run
were being left in the active queue and not recycled.
The only way to deal with this is to allow the pageout code to pull pages
from the active queue to the inactive queue. This in turn resurrects the
issue of overnight processes (whos pages are idle, after all), getting
excessively uncached. I think the goal needs to be to reduce excessive
recyclement of such pages over a shorter time-frame, such as an hour.
Adjusting vfs.vm_cycle_point higher may help (but we don't do it in this
commit).
* Change the pageout code a bit to pull a limited number of pages from
the active queue to the inactive queue if the inactive target has not
been met but the cache+free targets were satisfied from the inactive
queue. This allows the inactive_target to be increased without creating
additional mangement overhead on the machine.
* Increase the inactive_target to 1/2 of probed memory.
* Document the issues involved with pulling pages out of the active queue.
Summary of changes:
sys/vm/vm_pageout.c | 35 ++++++++++++++++++++++++++++-------
1 files changed, 28 insertions(+), 7 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/51db7ca2caa1000f5b348048cf568c6372121061
--
DragonFly BSD source repository
More information about the Commits
mailing list