Avoid recursive acquisition of the page queues lock in pmap_unuse_pt().

Approved by:	re
This commit is contained in:
Alan Cox
2002-12-03 04:00:42 +00:00
parent b9742d01f4
commit f4dcf9555e
2 changed files with 6 additions and 2 deletions
+3 -1
View File
@@ -1213,7 +1213,9 @@ pmap_unuse_pt(pmap_t pmap, vm_offset_t va, vm_page_t mpte)
(pmap->pm_ptphint->pindex == ptepindex)) {
mpte = pmap->pm_ptphint;
} else {
mpte = pmap_page_lookup(pmap->pm_pteobj, ptepindex);
while ((mpte = vm_page_lookup(pmap->pm_pteobj, ptepindex)) != NULL &&
vm_page_sleep_if_busy(mpte, FALSE, "pulook"))
vm_page_lock_queues();
pmap->pm_ptphint = mpte;
}
}
+3 -1
View File
@@ -1213,7 +1213,9 @@ pmap_unuse_pt(pmap_t pmap, vm_offset_t va, vm_page_t mpte)
(pmap->pm_ptphint->pindex == ptepindex)) {
mpte = pmap->pm_ptphint;
} else {
mpte = pmap_page_lookup(pmap->pm_pteobj, ptepindex);
while ((mpte = vm_page_lookup(pmap->pm_pteobj, ptepindex)) != NULL &&
vm_page_sleep_if_busy(mpte, FALSE, "pulook"))
vm_page_lock_queues();
pmap->pm_ptphint = mpte;
}
}