kernel - Fix numerous performance problems with the pageout daemon
authorMatthew Dillon <dillon@apollo.backplane.com>
Fri, 11 Nov 2011 03:31:24 +0000 (19:31 -0800)
committerMatthew Dillon <dillon@apollo.backplane.com>
Fri, 11 Nov 2011 03:31:24 +0000 (19:31 -0800)
commit51c99c6153dfaddf8f0a27f9f536caaa28c681a4
treead81bc314902217176b93a4124d284a09d15c751
parent3038a8caa1068d2a58b982b5033ccd015d6c8a07
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
sys/conf/options
sys/config/LINT
sys/config/LINT64
sys/emulation/linux/Makefile
sys/vfs/nfs/Makefile
sys/vfs/nwfs/Makefile
sys/vfs/smbfs/Makefile
sys/vm/vm_page.h
sys/vm/vm_pageout.c
sys/vm/vm_swap.c
sys/vm/vm_swapcache.c