Changeset View
Changeset View
Standalone View
Standalone View
head/sys/vm/vm_fault.c
Show First 20 Lines • Show All 553 Lines • ▼ Show 20 Lines | #endif | ||||
alloc_req |= VM_ALLOC_ZERO; | alloc_req |= VM_ALLOC_ZERO; | ||||
fs.m = vm_page_alloc(fs.object, fs.pindex, | fs.m = vm_page_alloc(fs.object, fs.pindex, | ||||
alloc_req); | alloc_req); | ||||
} | } | ||||
if (fs.m == NULL) { | if (fs.m == NULL) { | ||||
unlock_and_deallocate(&fs); | unlock_and_deallocate(&fs); | ||||
VM_WAITPFAULT; | VM_WAITPFAULT; | ||||
goto RetryFault; | goto RetryFault; | ||||
} else if (fs.m->valid == VM_PAGE_BITS_ALL) | } | ||||
break; | |||||
} | } | ||||
readrest: | readrest: | ||||
/* | /* | ||||
* At this point, we have either allocated a new page or found | * At this point, we have either allocated a new page or found | ||||
* an existing page that is only partially valid. | * an existing page that is only partially valid. | ||||
* | * | ||||
* We hold a reference on the current object and the page is | * We hold a reference on the current object and the page is | ||||
▲ Show 20 Lines • Show All 951 Lines • Show Last 20 Lines |