git: kernel - Performance improvements during heavy memory/IO use

Matthew Dillon dillon at crater.dragonflybsd.org
Thu Nov 10 16:36:38 PST 2011


commit 3038a8caa1068d2a58b982b5033ccd015d6c8a07
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Thu Nov 10 16:32:10 2011 -0800

    kernel - Performance improvements during heavy memory/IO use
    
    * Remove the vm.vm_load logic, it was breaking things worse and fixing
      things not so much.
    
    * Fix a bug in the pageout algorithm that was causing the PQ_ACTIVE queue
      to drain excessively, messing up the LRU/activity algorithm.
    
    * Rip out hammer_limit_running_io and instead just call waitrunningbufspace().
    
    * Change the waitrunningbufspace() logic to add a bit of hyseresis and to
      fairly block everyone doing write I/O, otherwise some threads may be
      blocked while other threads are allowed to proceed while the buf_daemon
      is trying to flush stuff out.

Summary of changes:
 sys/kern/kern_clock.c           |    5 ---
 sys/kern/vfs_bio.c              |   33 +++++++--------------
 sys/sys/thread.h                |    2 +-
 sys/vfs/hammer/hammer.h         |    3 +-
 sys/vfs/hammer/hammer_flusher.c |    4 +-
 sys/vfs/hammer/hammer_io.c      |   10 +------
 sys/vfs/hammer/hammer_vfsops.c  |   17 -----------
 sys/vm/vm_extern.h              |    1 -
 sys/vm/vm_fault.c               |   59 ---------------------------------------
 sys/vm/vm_pageout.c             |   53 +++++++++++-----------------------
 sys/vm/vm_pageout.h             |    3 --
 11 files changed, 33 insertions(+), 157 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/3038a8caa1068d2a58b982b5033ccd015d6c8a07


-- 
DragonFly BSD source repository





More information about the Commits mailing list