git: kernel - Add some more options for pmap_qremove*()

Matthew Dillon dillon at crater.dragonflybsd.org
Sun Jul 24 22:01:18 PDT 2016


commit d0f59917b31c9ce70fc3a52aa387163871f88f4b
Author: Matthew Dillon <dillon at apollo.backplane.com>
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



More information about the Commits mailing list