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

Approved by:	re
This commit is contained in:
alc 2002-12-03 04:00:42 +00:00
parent e70e70c250
commit 1195f22080
2 changed files with 6 additions and 2 deletions

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;
}
}

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;
}
}