git: kernel - Improve pmap hinting, improve performance
Matthew Dillon
dillon at crater.dragonflybsd.org
Wed Oct 18 09:49:26 PDT 2017
commit bb1339f814acc2e25a2e638ad85318d0567418ba
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Tue Oct 17 23:45:56 2017 -0700
kernel - Improve pmap hinting, improve performance
* Refactor pm_pvhint into two fields, pm_pvhint_pt and pm_pvhint_pte.
These are the most common hits.
* Consolidate the pv_entry lookup core into pv_entry_lookup() and
implementing the double hinting. Adjust pv_cache() to use the
new fields.
* Improve pmap_object_init_pt() performance by using the new
RB_SCAN_NOLK() code and soft-busying the VM pages instead
of hard-busying them. If we have to deactivate the page, however,
we must hard-busy the page.
* Fix vm_prefault_quick() committed recently. When soft-busying
VM pages for pmap-entry, we have to fall-back to a hard-busy
if the page must be moved out of PQ_CACHE.
Summary of changes:
sys/platform/pc64/include/pmap.h | 3 +-
sys/platform/pc64/x86_64/pmap.c | 159 +++++++++++++++++++++++++--------------
sys/vm/vm_fault.c | 16 ++--
3 files changed, 115 insertions(+), 63 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/bb1339f814acc2e25a2e638ad85318d0567418ba
--
DragonFly BSD source repository
More information about the Commits
mailing list