diff options
author | alc <alc@FreeBSD.org> | 2003-08-08 01:52:03 +0000 |
---|---|---|
committer | alc <alc@FreeBSD.org> | 2003-08-08 01:52:03 +0000 |
commit | a6ced7e2162b7f0119fbcd0489f0ed5c7f87c583 (patch) | |
tree | e32c3b8989aa67f7a8049d52e99f506bb0fab0d7 /sys/amd64 | |
parent | c39e23c83dff48d4ea81f5e9e4869c4beb646ab9 (diff) | |
download | FreeBSD-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.c | 2 |
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); } |