diff options
author | alc <alc@FreeBSD.org> | 2008-09-20 16:24:42 +0000 |
---|---|---|
committer | alc <alc@FreeBSD.org> | 2008-09-20 16:24:42 +0000 |
commit | a14fe071844a5dbc5d5efd52546b7df8b94f9e16 (patch) | |
tree | c31f20a096e24efb2b234c56da519449f25b65c7 /lib/libc/stdlib/a64l.c | |
parent | 2600b8bb7d56e3fd70e3137ace9e035499ba158e (diff) | |
download | FreeBSD-src-a14fe071844a5dbc5d5efd52546b7df8b94f9e16.zip FreeBSD-src-a14fe071844a5dbc5d5efd52546b7df8b94f9e16.tar.gz |
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.
Diffstat (limited to 'lib/libc/stdlib/a64l.c')
0 files changed, 0 insertions, 0 deletions