aboutsummaryrefslogtreecommitdiff
path: root/sys/ia64
diff options
context:
space:
mode:
authorAlan Cox <alc@FreeBSD.org>2006-11-12 21:48:34 +0000
committerAlan Cox <alc@FreeBSD.org>2006-11-12 21:48:34 +0000
commit44b8bd66f9d825f9ed451e40259ec6f0ec3a07d1 (patch)
treec4a9c71fe86ec1dd8e45421082e59941e177807f /sys/ia64
parenta9e889bc33c568beef4ce06e5c2765e9e876ebeb (diff)
Make pmap_enter() responsible for setting PG_WRITEABLE instead
of its caller. (As a beneficial side-effect, a high-contention acquisition of the page queues lock in vm_fault() is eliminated.)
Notes
svn path=/head/; revision=164229
Diffstat (limited to 'sys/ia64')
-rw-r--r--sys/ia64/ia64/pmap.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/ia64/ia64/pmap.c b/sys/ia64/ia64/pmap.c
index 37fe800e3da8..bcdaae7df7fa 100644
--- a/sys/ia64/ia64/pmap.c
+++ b/sys/ia64/ia64/pmap.c
@@ -1647,6 +1647,8 @@ validate:
pmap_pte_prot(pmap, pte, prot);
pmap_set_pte(pte, va, pa, wired, managed);
+ if ((prot & VM_PROT_WRITE) != 0)
+ vm_page_flag_set(m, PG_WRITEABLE);
vm_page_unlock_queues();
pmap_install(oldpmap);
PMAP_UNLOCK(pmap);