diff options
author | alc <alc@FreeBSD.org> | 2004-09-19 05:34:49 +0000 |
---|---|---|
committer | alc <alc@FreeBSD.org> | 2004-09-19 05:34:49 +0000 |
commit | e556a31baf057c9fc13369b76cfea5dcc7ecd827 (patch) | |
tree | 9a78940c01fd2382a3b99bbf2fc46fe15d608048 /sys/alpha | |
parent | 2eb7fbe1325e673ee75e8ae0ee88be7ea1ccc4df (diff) | |
download | FreeBSD-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.c | 3 |
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; |