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