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