Changeset View
Changeset View
Standalone View
Standalone View
head/sys/vm/vm_fault.c
Show First 20 Lines • Show All 1,129 Lines • ▼ Show 20 Lines | #endif | ||||
fs.m = NULL; | fs.m = NULL; | ||||
VM_CNT_INC(v_cow_optim); | VM_CNT_INC(v_cow_optim); | ||||
} else { | } else { | ||||
/* | /* | ||||
* Oh, well, lets copy it. | * Oh, well, lets copy it. | ||||
*/ | */ | ||||
pmap_copy_page(fs.m, fs.first_m); | pmap_copy_page(fs.m, fs.first_m); | ||||
fs.first_m->valid = VM_PAGE_BITS_ALL; | fs.first_m->valid = VM_PAGE_BITS_ALL; | ||||
if ((fault_flags & VM_FAULT_WIRE) == 0) { | |||||
prot &= ~VM_PROT_WRITE; | |||||
fault_type &= ~VM_PROT_WRITE; | |||||
} | |||||
if (wired && (fault_flags & | if (wired && (fault_flags & | ||||
VM_FAULT_WIRE) == 0) { | VM_FAULT_WIRE) == 0) { | ||||
vm_page_lock(fs.first_m); | vm_page_lock(fs.first_m); | ||||
vm_page_wire(fs.first_m); | vm_page_wire(fs.first_m); | ||||
vm_page_unlock(fs.first_m); | vm_page_unlock(fs.first_m); | ||||
vm_page_lock(fs.m); | vm_page_lock(fs.m); | ||||
vm_page_unwire(fs.m, PQ_INACTIVE); | vm_page_unwire(fs.m, PQ_INACTIVE); | ||||
▲ Show 20 Lines • Show All 614 Lines • Show Last 20 Lines |