Remove the page queues lock around a call to vm_page_activate(). Make the

page dirty before adding it to the active queue.
This commit is contained in:
Alan Cox 2010-05-09 00:32:52 +00:00
parent 7d1d2ef60a
commit d061cdd513

View File

@ -1707,11 +1707,9 @@ swp_pager_force_pagein(vm_object_t object, vm_pindex_t pindex)
m = vm_page_grab(object, pindex, VM_ALLOC_NORMAL|VM_ALLOC_RETRY);
if (m->valid == VM_PAGE_BITS_ALL) {
vm_object_pip_subtract(object, 1);
vm_page_lock(m);
vm_page_lock_queues();
vm_page_activate(m);
vm_page_dirty(m);
vm_page_unlock_queues();
vm_page_lock(m);
vm_page_activate(m);
vm_page_unlock(m);
vm_page_wakeup(m);
vm_pager_page_unswapped(m);