git: kernel - VM rework part 10 - Precursor work for terminal pv_entry removal
Matthew Dillon
dillon at crater.dragonflybsd.org
Tue May 21 10:26:27 PDT 2019
commit ae442b2e7307f6cfa20b0e4664eaa9ea2c554f69
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Fri May 17 11:55:14 2019 -0700
kernel - VM rework part 10 - Precursor work for terminal pv_entry removal
* Effectively remove pmap_track_modified(). Turn it into an assertion.
The normal pmap code should NEVER EVER be called with any range inside
the clean map.
This assertion, and the routine in its entirety, will be removed in a
later commit.
* The purpose of the original code was to prevent buffer cache kvm mappings
from being misinterpreted as contributing to the underlying vm_page's
modified state. Normal paging operation synchronizes the modified bit and
then transfers responsibility to the buffer cache. We didn't want
manipulation of the buffer cache to further affect the modified bit for
the page.
In modern times, the buffer cache does NOT use a kernel_object based
mapping for anything and there should be no chance of any kernel related
pmap_enter() (entering a managed page into the kernel_pmap) from messing
with the space.
Summary of changes:
sys/platform/pc64/x86_64/pmap.c | 41 ++++++++++-------------
sys/platform/vkernel64/include/pmap.h | 1 -
sys/platform/vkernel64/platform/pmap.c | 49 ++++++++++++----------------
sys/platform/vkernel64/platform/pmap_inval.c | 3 +-
4 files changed, 40 insertions(+), 54 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/ae442b2e7307f6cfa20b0e4664eaa9ea2c554f69
--
DragonFly BSD source repository
More information about the Commits
mailing list