git: kernel - Fix numerous performance problems with the pageout daemon
Matthew Dillon
dillon at crater.dragonflybsd.org
Thu Nov 10 19:36:27 PST 2011
commit 51c99c6153dfaddf8f0a27f9f536caaa28c681a4
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Thu Nov 10 19:31:24 2011 -0800
kernel - Fix numerous performance problems with the pageout daemon
* The VM page queues were not being fully utilized, causing the pageout
daemon to calculate incorrect average page counts for deactivation/freeing.
This caused the pageout daemon to dig into the active queue even when it
did not need to.
* The pageout daemon was incorrectly calculating the maxscan value for each
queue. It was using the aggregate count (across all 256 queues) instead of
the per-queue count, resulting in long stalls when memory is low.
* Clean up the PQ_L2* knobs, constants, and other cruft, reducing them to
the essentials for our goals.
Reported-by: vsrinivas, thesjg, luxh, etc
Summary of changes:
sys/conf/options | 1 -
sys/config/LINT | 3 -
sys/config/LINT64 | 3 -
sys/emulation/linux/Makefile | 2 +-
sys/vfs/nfs/Makefile | 2 +-
sys/vfs/nwfs/Makefile | 2 +-
sys/vfs/smbfs/Makefile | 2 +-
sys/vm/vm_page.h | 53 +++++----------------
sys/vm/vm_pageout.c | 107 +++++++++++++++++++++++------------------
sys/vm/vm_swap.c | 2 +-
sys/vm/vm_swapcache.c | 10 ++--
11 files changed, 83 insertions(+), 104 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/51c99c6153dfaddf8f0a27f9f536caaa28c681a4
--
DragonFly BSD source repository
More information about the Commits
mailing list