summaryrefslogtreecommitdiffstats
path: root/sys/alpha
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2004-09-19 05:34:49 +0000
committeralc <alc@FreeBSD.org>2004-09-19 05:34:49 +0000
commite556a31baf057c9fc13369b76cfea5dcc7ecd827 (patch)
tree9a78940c01fd2382a3b99bbf2fc46fe15d608048 /sys/alpha
parent2eb7fbe1325e673ee75e8ae0ee88be7ea1ccc4df (diff)
downloadFreeBSD-src-e556a31baf057c9fc13369b76cfea5dcc7ecd827.zip
FreeBSD-src-e556a31baf057c9fc13369b76cfea5dcc7ecd827.tar.gz
MFamd64/i386
Avoid recomputing PHYS_TO_VM_PAGE() unnecessarily in pmap_protect().
Diffstat (limited to 'sys/alpha')
-rw-r--r--sys/alpha/alpha/pmap.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/alpha/alpha/pmap.c b/sys/alpha/alpha/pmap.c
index 7bf6174..6a094df 100644
--- a/sys/alpha/alpha/pmap.c
+++ b/sys/alpha/alpha/pmap.c
@@ -1629,7 +1629,8 @@ pmap_protect(pmap_t pmap, vm_offset_t sva, vm_offset_t eva, vm_prot_t prot)
oldpte |= (PG_FOR | PG_FOE);
}
if ((oldpte & PG_FOW) == 0) {
- m = PHYS_TO_VM_PAGE(pmap_pte_pa(pte));
+ if (m == NULL)
+ m = PHYS_TO_VM_PAGE(pmap_pte_pa(pte));
if (pmap_track_modified(sva))
vm_page_dirty(m);
oldpte |= PG_FOW;
OpenPOWER on IntegriCloud