cvs commit: src/sys/i386/i386 pmap.c
Alan Cox
alc at FreeBSD.org
Sat Sep 20 16:25:03 UTC 2008
alc 2008-09-20 16:24:42 UTC
FreeBSD src repository
Modified files:
sys/i386/i386 pmap.c
Log:
SVN rev 183207 on 2008-09-20 16:24:42Z by alc
MFamd64 SVN rev 179749 CVS rev 1.620
Reverse the direction of pmap_promote_pde()'s traversal over the specified
page table page. The direction of the traversal can matter if
pmap_promote_pde() has to remove write access (PG_RW) from a PTE that
hasn't been modified (PG_M). In general, if there are two or more such
PTEs to choose among, it is better to write protect the one nearer the
high end of the page table page rather than the low end. This is because
most programs access memory in an ascending direction. The net result of
this change is a sometimes significant reduction in the number of failed
promotion attempts and the number of pages that are write protected by
pmap_promote_pde().
MFamd64 SVN rev 179777 CVS rev 1.621
Tweak the promotion test in pmap_promote_pde(). Specifically, test PG_A
before PG_M. This sometimes prevents unnecessary removal of write access
from a PTE. Overall, the net result is fewer demotions and promotion
failures.
Revision Changes Path
1.629 +32 -16 src/sys/i386/i386/pmap.c
More information about the cvs-src
mailing list