mirror of
https://git.FreeBSD.org/src.git
synced 2025-01-29 16:44:03 +00:00
Eliminate the acquisition and release of the page queues lock around a call
to vm_page_sleep_if_busy().
This commit is contained in:
parent
7c4b7ecc4c
commit
14aaab5329
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=161016
@ -2506,7 +2506,6 @@ pmap_object_init_pt(pmap_t pmap, vm_offset_t addr,
|
||||
retry:
|
||||
p = vm_page_lookup(object, pindex);
|
||||
if (p != NULL) {
|
||||
vm_page_lock_queues();
|
||||
if (vm_page_sleep_if_busy(p, FALSE, "init4p"))
|
||||
goto retry;
|
||||
} else {
|
||||
@ -2525,8 +2524,8 @@ pmap_object_init_pt(pmap_t pmap, vm_offset_t addr,
|
||||
p = vm_page_lookup(object, pindex);
|
||||
vm_page_lock_queues();
|
||||
vm_page_wakeup(p);
|
||||
vm_page_unlock_queues();
|
||||
}
|
||||
vm_page_unlock_queues();
|
||||
|
||||
ptepa = VM_PAGE_TO_PHYS(p);
|
||||
if (ptepa & (NBPDR - 1))
|
||||
|
@ -2581,7 +2581,6 @@ pmap_object_init_pt(pmap_t pmap, vm_offset_t addr,
|
||||
retry:
|
||||
p = vm_page_lookup(object, pindex);
|
||||
if (p != NULL) {
|
||||
vm_page_lock_queues();
|
||||
if (vm_page_sleep_if_busy(p, FALSE, "init4p"))
|
||||
goto retry;
|
||||
} else {
|
||||
@ -2600,8 +2599,8 @@ pmap_object_init_pt(pmap_t pmap, vm_offset_t addr,
|
||||
p = vm_page_lookup(object, pindex);
|
||||
vm_page_lock_queues();
|
||||
vm_page_wakeup(p);
|
||||
vm_page_unlock_queues();
|
||||
}
|
||||
vm_page_unlock_queues();
|
||||
|
||||
ptepa = VM_PAGE_TO_PHYS(p);
|
||||
if (ptepa & (NBPDR - 1))
|
||||
|
Loading…
Reference in New Issue
Block a user