commit d0f59917b31c9ce70fc3a52aa387163871f88f4b
Author: Matthew Dillon <[email protected]>
Date: Sun Jul 24 21:49:57 2016 -0700
kernel - Add some more options for pmap_qremove*()
* Add pmap_qremove_quick() and pmap_qremove_noinval(), allowing pmap
entries to be removed without invalidation under carefully managed
circumstances by other subsystems.
* Redo the virtual kernel a little to work the same as the real kernel
when entering new pmap entries. We cannot assume that no invalidation
is needed when the prior contents of the pte is 0, because there are
several ways it could have become 0 without a prior invalidation.
Also use an atomic op to clear the entry.
Summary of changes:
sys/platform/pc64/x86_64/pmap.c | 76 ++++++++++++++++++++++++++++------
sys/platform/vkernel64/platform/pmap.c | 43 ++++++++++++++++---
sys/vm/pmap.h | 2 +
3 files changed, 103 insertions(+), 18 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/d0f59917b31c9ce70fc3a52aa387163871f88f4b
--
DragonFly BSD source repository