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

Matthew Dillon dillon at crater.dragonflybsd.org
Mon Jul 25 14:35:34 PDT 2016


commit f093560f0bb0c0e1042f5ea41e76c6e41fe508ba
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/f093560f0bb0c0e1042f5ea41e76c6e41fe508ba


-- 
DragonFly BSD source repository



More information about the Commits mailing list