git: kernel - Prune pcpu vmzone a bit

Matthew Dillon dillon at crater.dragonflybsd.org
Fri Jan 27 10:40:29 PST 2017


commit f046edd0af63a118f248e0681c2a378b702545e4
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Fri Jan 27 10:33:15 2017 -0800

    kernel - Prune pcpu vmzone a bit
    
    * Put a cap of 16MB worth of entries in the vm_zone pcpu cache, per cpu.
      This cap is triggered on large-memory systems which would otherwise
      set too high a limit on the vmzone pcpu caches.
    
      This primarily affects pvzone, limiting the pcpu pmap pv_entry cache
      to around 200000 elements (~800MB worth of page mappings).
    
    * Reduces the amount of memory waste on a large-memory system.  For example,
      before roughly 2GB worth of unused pv_entry's could accumulate on a
      32-way system with 128GB of ram during nominal use.  Now only around 512MB
      worth of unused pv_entry's can accumulate.
    
    * Note that we do not want to set this cap too low because it is absolutely
      necessary for concurrent fork/exec/wait/exit performance.
    
    * Increase the zone_burst from the global cache to the pcpu cache from
      32 to 128 elements to further reduce unnecessary lock collisions in
      zalloc().

Summary of changes:
 sys/vm/vm_zone.c | 71 ++++++++++++++++++++++++++++++++------------------------
 sys/vm/vm_zone.h | 41 ++++++++++++++++----------------
 2 files changed, 62 insertions(+), 50 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/f046edd0af63a118f248e0681c2a378b702545e4


-- 
DragonFly BSD source repository



More information about the Commits mailing list