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