summaryrefslogtreecommitdiffstats
path: root/sys/amd64
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2003-08-08 01:52:03 +0000
committeralc <alc@FreeBSD.org>2003-08-08 01:52:03 +0000
commita6ced7e2162b7f0119fbcd0489f0ed5c7f87c583 (patch)
treee32c3b8989aa67f7a8049d52e99f506bb0fab0d7 /sys/amd64
parentc39e23c83dff48d4ea81f5e9e4869c4beb646ab9 (diff)
downloadFreeBSD-src-a6ced7e2162b7f0119fbcd0489f0ed5c7f87c583.zip
FreeBSD-src-a6ced7e2162b7f0119fbcd0489f0ed5c7f87c583.tar.gz
MFi386 1.422 & 1.423: lock page queues in pmap_insert_entry().
Diffstat (limited to 'sys/amd64')
-rw-r--r--sys/amd64/amd64/pmap.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/amd64/amd64/pmap.c b/sys/amd64/amd64/pmap.c
index c3996de..915e647 100644
--- a/sys/amd64/amd64/pmap.c
+++ b/sys/amd64/amd64/pmap.c
@@ -1466,10 +1466,12 @@ pmap_insert_entry(pmap_t pmap, vm_offset_t va, vm_page_t mpte, vm_page_t m)
pv->pv_pmap = pmap;
pv->pv_ptem = mpte;
+ vm_page_lock_queues();
TAILQ_INSERT_TAIL(&pmap->pm_pvlist, pv, pv_plist);
TAILQ_INSERT_TAIL(&m->md.pv_list, pv, pv_list);
m->md.pv_list_count++;
+ vm_page_unlock_queues();
splx(s);
}
OpenPOWER on IntegriCloud