git: kernel: Optimize pmap_invalidate_range()

Francois Tigeot ftigeot at crater.dragonflybsd.org
Thu Jul 18 14:30:50 PDT 2013


commit d2f7c303e0e14f546c73f89a28a4ff7f46cb84fe
Author: François Tigeot <ftigeot at wolfpond.org>
Date:   Thu Jul 18 23:25:01 2013 +0200

    kernel: Optimize pmap_invalidate_range()
    
    * No need to use wbinvd here, we only have to invalidate TLB entries
      and not regular CPU caches
    
    * There is no need to drop all TLB caches either, only invalidate a few
      page mappings on all cpus
    
    * Use pmap->pm_active to only signal the CPUs where the pmap is in use

Summary of changes:
 sys/cpu/x86_64/include/cpufunc.h      | 20 ++++++++++++++++++++
 sys/platform/pc64/x86_64/mp_machdep.c | 12 ++++++++++++
 sys/platform/pc64/x86_64/pmap.c       |  4 +---
 3 files changed, 33 insertions(+), 3 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/d2f7c303e0e14f546c73f89a28a4ff7f46cb84fe


-- 
DragonFly BSD source repository



More information about the Commits mailing list