Eliminate unnecessary page queues locking.

This commit is contained in:
Alan Cox 2010-06-16 00:41:21 +00:00
parent 8886dc1652
commit 8393d186b9

View File

@ -653,9 +653,7 @@ lookupvpg:
goto lookupvpg;
}
vm_page_busy(vpg);
vm_page_lock_queues();
vm_page_undirty(vpg);
vm_page_unlock_queues();
VM_OBJECT_UNLOCK(vobj);
error = uiomove_fromphys(&vpg, offset, tlen, uio);
} else {
@ -690,15 +688,13 @@ nocache:
out:
if (vobj != NULL)
VM_OBJECT_LOCK(vobj);
vm_page_lock(tpg);
vm_page_lock_queues();
if (error == 0) {
KASSERT(tpg->valid == VM_PAGE_BITS_ALL,
("parts of tpg invalid"));
vm_page_dirty(tpg);
}
vm_page_lock(tpg);
vm_page_unwire(tpg, TRUE);
vm_page_unlock_queues();
vm_page_unlock(tpg);
vm_page_wakeup(tpg);
if (vpg != NULL)