summaryrefslogtreecommitdiffstats
path: root/sys/amd64
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2004-10-03 20:14:07 +0000
committeralc <alc@FreeBSD.org>2004-10-03 20:14:07 +0000
commit52911b00b3ccde568755e6f1f4400b40f4b712c0 (patch)
treef65caef8698ec0725adedf29529b5818d33ca7ec /sys/amd64
parent96dbdb17db1da0c31c5e7ec7142e338c36e4952b (diff)
downloadFreeBSD-src-52911b00b3ccde568755e6f1f4400b40f4b712c0.zip
FreeBSD-src-52911b00b3ccde568755e6f1f4400b40f4b712c0.tar.gz
Undo revision 1.251. This change was a performance pessimizing work-around
that is no longer required. (In fact, it is not clear that it was ever required in HEAD or RELENG_4, only RELENG_3 required a work-around.) Now, as before revision 1.251, if the preexisting PTE is invalid, pmap_enter() does not call pmap_invalidate_page() to update the TLB(s). Note: Even with this change, the handling of a copy-on-write fault is inefficient, in such cases pmap_enter() calls pmap_invalidate_page() twice. Discussed with: bde@ PR: kern/16568
Diffstat (limited to 'sys/amd64')
-rw-r--r--sys/amd64/amd64/pmap.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/amd64/amd64/pmap.c b/sys/amd64/amd64/pmap.c
index 3fb6cd9..4b39ce0 100644
--- a/sys/amd64/amd64/pmap.c
+++ b/sys/amd64/amd64/pmap.c
@@ -1978,7 +1978,7 @@ validate:
*/
if ((origpte & ~(PG_M|PG_A)) != newpte) {
pte_store(pte, newpte | PG_A);
- /*if (origpte)*/ {
+ if (origpte) {
pmap_invalidate_page(pmap, va);
}
}
OpenPOWER on IntegriCloud