git: kernel - Continue pmap work

Matthew Dillon dillon at crater.dragonflybsd.org
Mon Mar 2 17:29:12 PST 2020


commit c2830aa69c1a82c18238031a519bd2bc6d7d1b38
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Thu Feb 27 12:01:35 2020 -0800

    kernel - Continue pmap work
    
    * Conditionalize this work on PMAP_ADVANCED, default enabled.
    
    * Remove md_page.pmap_count and md_page.writeable_count, no longer
      track these counts which cause tons of cache line interactions.
    
      However, there are still a few stubborn hold-overs.
    
    * The vm_page still needs to be soft-busied in the page fault path
    
    * For now we need to have a md_page.interlock_count to flag pages
      being replaced by pmap_enter() (e.g. COW faults) in order to be
      able to safely dispose of the page without busying it.
    
      This need will eventually go away, hopefully just leaving us with
      the soft-busy-count issue.

Summary of changes:
 sys/platform/pc64/include/pmap.h |  16 ++
 sys/platform/pc64/x86_64/npx.c   |   2 +-
 sys/platform/pc64/x86_64/pmap.c  | 340 ++++++++++++++++++++++++++++++++++-----
 sys/vm/vm_fault.c                |  62 +++----
 sys/vm/vm_object.c               |  13 ++
 sys/vm/vm_page.c                 |  55 +++++--
 sys/vm/vm_page.h                 |   5 +-
 sys/vm/vm_page2.h                |   2 +-
 sys/vm/vm_pageout.c              |   6 +
 9 files changed, 416 insertions(+), 85 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/c2830aa69c1a82c18238031a519bd2bc6d7d1b38


-- 
DragonFly BSD source repository



More information about the Commits mailing list