Changeset View
Changeset View
Standalone View
Standalone View
sys/vm/vm_swapout.c
Show First 20 Lines • Show All 206 Lines • ▼ Show 20 Lines | TAILQ_FOREACH(p, &object->memq, listq) { | ||||
if (pmap_resident_count(pmap) <= desired) | if (pmap_resident_count(pmap) <= desired) | ||||
goto unlock_return; | goto unlock_return; | ||||
if (should_yield()) | if (should_yield()) | ||||
goto unlock_return; | goto unlock_return; | ||||
if (vm_page_busied(p)) | if (vm_page_busied(p)) | ||||
continue; | continue; | ||||
VM_CNT_INC(v_pdpages); | VM_CNT_INC(v_pdpages); | ||||
vm_page_lock(p); | vm_page_lock(p); | ||||
if (vm_page_held(p) || | if (vm_page_wired(p) || | ||||
!pmap_page_exists_quick(pmap, p)) { | !pmap_page_exists_quick(pmap, p)) { | ||||
vm_page_unlock(p); | vm_page_unlock(p); | ||||
continue; | continue; | ||||
} | } | ||||
act_delta = pmap_ts_referenced(p); | act_delta = pmap_ts_referenced(p); | ||||
if ((p->aflags & PGA_REFERENCED) != 0) { | if ((p->aflags & PGA_REFERENCED) != 0) { | ||||
if (act_delta == 0) | if (act_delta == 0) | ||||
act_delta = 1; | act_delta = 1; | ||||
▲ Show 20 Lines • Show All 740 Lines • Show Last 20 Lines |