git: kernel - Fix MADV_NOSYNC and MAP_NOSYNC, improve vkernel performance

Matthew Dillon dillon at crater.dragonflybsd.org
Wed Sep 15 13:25:44 PDT 2010


commit 2421aac7b1fbe003e478476e2d4f351d15b502f0
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Wed Sep 15 13:22:25 2010 -0700

    kernel - Fix MADV_NOSYNC and MAP_NOSYNC, improve vkernel performance
    
    * The vm_prefault() code was not setting PG_NOSYNC so only 1/4 of the
      pages of a NOSYNC memory mapping were actually NOSYNC.
    
    * This bug caused the vkernel to essentially flush out all of its
      dirty memory pages every 30 seconds.  Needless to say this was bad.
    
      The vkernel can now be run with its memory set in the multiples
      of gigabytes (if you happen to have that much real memory) without
      creating a massive disk load.

Summary of changes:
 sys/vm/vm_fault.c |   28 ++++++++++++++++++++++------
 1 files changed, 22 insertions(+), 6 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/2421aac7b1fbe003e478476e2d4f351d15b502f0


-- 
DragonFly BSD source repository





More information about the Commits mailing list