git: kernel - Correct second edge-case for machdep.pmap_mmu_optimize
Matthew Dillon
dillon at crater.dragonflybsd.org
Thu Mar 13 09:28:21 PDT 2014
commit e3e69557a4979cb4d54d2361cc8a158eff082611
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Thu Mar 13 09:25:29 2014 -0700
kernel - Correct second edge-case for machdep.pmap_mmu_optimize
* The pmap_release*() code was previously optimized to not invalidate
on pml4, pdp, pd, or pt pte's, only on terminal ptes. This invalidation
interferes with the PT replacement that the pmap_mmu_optimize feature
uses.
* The bug generally would only occur when memory is mmap()'d and munmap()'d
multiple times, which something like postgres will not do, but which
rtorrent and other programs will do.
* Correctly invalidate page tables (use invltlb) when PT pte's are replaced.
* Requires further testing. Default for this feature is still off.
Summary of changes:
sys/platform/pc64/x86_64/pmap.c | 71 +++++++++++++++++++++++++++++++----------
1 file changed, 55 insertions(+), 16 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/e3e69557a4979cb4d54d2361cc8a158eff082611
--
DragonFly BSD source repository
More information about the Commits
mailing list