kernel - VM rework part 10 - Precursor work for terminal pv_entry removal
authorMatthew Dillon <dillon@apollo.backplane.com>
Fri, 17 May 2019 18:55:14 +0000 (11:55 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Mon, 20 May 2019 19:39:25 +0000 (12:39 -0700)
commitae442b2e7307f6cfa20b0e4664eaa9ea2c554f69
treeea6cb00a7c542b04939f7394b84a53cc1be7d867
parent530e94fc9e8b4693c7e841a45371bdb6e76ee4cd
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.
sys/platform/pc64/x86_64/pmap.c
sys/platform/vkernel64/include/pmap.h
sys/platform/vkernel64/platform/pmap.c
sys/platform/vkernel64/platform/pmap_inval.c