git: kernel - Refactor vm_fault and vm_map a bit.
Matthew Dillon
dillon at crater.dragonflybsd.org
Wed Nov 1 17:50:10 PDT 2017
commit 641f3b0ac8f54c6715024ca7b8dd7eb3ebbf651d
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Wed Nov 1 17:36:14 2017 -0700
kernel - Refactor vm_fault and vm_map a bit.
* Allow the virtual copy feature to be disabled via a sysctl.
Default enabled.
* Fix a bug in the virtual copy test. Multiple elements were
not being retested after reacquiring the map lock.
* Change the auto-partitioning of vm_map_entry structures from
16MB to 32MB. Add a sysctl to allow the feature to be disabled.
Default enabled.
* Cleanup map->timestamp bumps. Basically we bump it in
vm_map_lock(), and also fix a bug where it was not being
bumped after relocking the map in the virtual copy feature.
* Fix an incorrect assertion in vm_map_split(). Refactor tests
in vm_map_split(). Also, acquire the chain lock for the VM
object in the caller to vm_map_split() instead of in vm_map_split()
itself, allowing us to include the pmap adjustment within the
locked area.
* Make sure OBJ_ONEMAPPING is cleared for nobject in vm_map_split().
* Fix a bug in a call to vm_map_transition_wait() that
double-locked the vm_map in the partitioning code.
* General cleanups in vm/vm_object.c
Summary of changes:
sys/vm/vm_fault.c | 127 +++++++++++++++++++++++++++--------------
sys/vm/vm_map.c | 162 +++++++++++++++++++++++++++++++++++------------------
sys/vm/vm_map.h | 6 +-
sys/vm/vm_mmap.c | 9 ++-
sys/vm/vm_object.c | 71 +++++++++++++----------
sys/vm/vm_object.h | 13 ++++-
6 files changed, 256 insertions(+), 132 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/641f3b0ac8f54c6715024ca7b8dd7eb3ebbf651d
--
DragonFly BSD source repository
More information about the Commits
mailing list