Changeset View
Changeset View
Standalone View
Standalone View
head/sys/vm/swap_pager.c
Show First 20 Lines • Show All 1,673 Lines • ▼ Show 20 Lines | swp_pager_force_pagein(vm_object_t object, vm_pindex_t pindex) | ||||
vm_object_pip_add(object, 1); | vm_object_pip_add(object, 1); | ||||
m = vm_page_grab(object, pindex, VM_ALLOC_NORMAL); | m = vm_page_grab(object, pindex, VM_ALLOC_NORMAL); | ||||
if (m->valid == VM_PAGE_BITS_ALL) { | if (m->valid == VM_PAGE_BITS_ALL) { | ||||
vm_object_pip_wakeup(object); | vm_object_pip_wakeup(object); | ||||
vm_page_dirty(m); | vm_page_dirty(m); | ||||
#ifdef INVARIANTS | #ifdef INVARIANTS | ||||
vm_page_lock(m); | vm_page_lock(m); | ||||
if (m->wire_count == 0 && m->queue == PQ_NONE) | if (!vm_page_wired(m) && m->queue == PQ_NONE) | ||||
panic("page %p is neither wired nor queued", m); | panic("page %p is neither wired nor queued", m); | ||||
vm_page_unlock(m); | vm_page_unlock(m); | ||||
#endif | #endif | ||||
vm_page_xunbusy(m); | vm_page_xunbusy(m); | ||||
vm_pager_page_unswapped(m); | vm_pager_page_unswapped(m); | ||||
return; | return; | ||||
} | } | ||||
▲ Show 20 Lines • Show All 1,242 Lines • Show Last 20 Lines |