Changeset View
Changeset View
Standalone View
Standalone View
head/sys/kern/vfs_bio.c
Show First 20 Lines • Show All 2,927 Lines • ▼ Show 20 Lines | if (!freed) { | ||||
* reclamation of an invalid page. | * reclamation of an invalid page. | ||||
* | * | ||||
* The B_NOREUSE flag marks data that is not expected to | * The B_NOREUSE flag marks data that is not expected to | ||||
* be reused, so accelerate reclamation in that case | * be reused, so accelerate reclamation in that case | ||||
* too. Otherwise, maintain LRU. | * too. Otherwise, maintain LRU. | ||||
*/ | */ | ||||
if (m->valid == 0 || (bp->b_flags & B_NOREUSE) != 0) | if (m->valid == 0 || (bp->b_flags & B_NOREUSE) != 0) | ||||
vm_page_deactivate_noreuse(m); | vm_page_deactivate_noreuse(m); | ||||
else if (m->queue == PQ_ACTIVE) | else if (vm_page_active(m)) | ||||
vm_page_reference(m); | vm_page_reference(m); | ||||
else | else | ||||
vm_page_deactivate(m); | vm_page_deactivate(m); | ||||
} | } | ||||
} | } | ||||
vm_page_unlock(m); | vm_page_unlock(m); | ||||
} | } | ||||
▲ Show 20 Lines • Show All 2,520 Lines • Show Last 20 Lines |