kernel: Optimize pmap_invalidate_range()
authorFrançois Tigeot <ftigeot@wolfpond.org>
Thu, 18 Jul 2013 21:25:01 +0000 (23:25 +0200)
committerFrançois Tigeot <ftigeot@wolfpond.org>
Thu, 18 Jul 2013 21:25:13 +0000 (23:25 +0200)
commitd2f7c303e0e14f546c73f89a28a4ff7f46cb84fe
treef48fb785d9894c6948d868a54bafc3ff6eff43b3
parent1d400425ec109ebc9cef3db6216b1ae5f98a3e59
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
sys/cpu/x86_64/include/cpufunc.h
sys/platform/pc64/x86_64/mp_machdep.c
sys/platform/pc64/x86_64/pmap.c