git: kernel - Prune pcpu vmzone a bit
dillon at crater.dragonflybsd.org
Fri Jan 27 10:40:29 PST 2017
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
Summary of changes:
sys/vm/vm_zone.c | 71 ++++++++++++++++++++++++++++++++------------------------
sys/vm/vm_zone.h | 41 ++++++++++++++++----------------
2 files changed, 62 insertions(+), 50 deletions(-)
DragonFly BSD source repository
More information about the Commits