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